MCPcopy Create free account
hub / github.com/apache/nifi-minifi-cpp / printManifest

Function printManifest

controller/Controller.h:283–338  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

281}
282
283void printManifest(const std::shared_ptr<minifi::Configure> &configuration) {
284
285 std::string prov_repo_class = "volatileprovenancerepository";
286 std::string flow_repo_class = "volatileflowfilerepository";
287 std::string nifi_configuration_class_name = "yamlconfiguration";
288 std::string content_repo_class = "volatilecontentrepository";
289
290 std::shared_ptr<logging::LoggerProperties> log_properties = std::make_shared<logging::LoggerProperties>();
291 log_properties->setHome("./");
292 log_properties->set("appender.stdout", "stdout");
293 log_properties->set("logger.org::apache::nifi::minifi", "OFF,stdout");
294 logging::LoggerConfiguration::getConfiguration().initialize(log_properties);
295
296 configuration->get(minifi::Configure::nifi_provenance_repository_class_name, prov_repo_class);
297 // Create repos for flow record and provenance
298 std::shared_ptr<core::Repository> prov_repo = core::createRepository(prov_repo_class, true, "provenance");
299 prov_repo->initialize(configuration);
300
301 configuration->get(minifi::Configure::nifi_flow_repository_class_name, flow_repo_class);
302
303 std::shared_ptr<core::Repository> flow_repo = core::createRepository(flow_repo_class, true, "flowfile");
304
305 flow_repo->initialize(configuration);
306
307 configuration->get(minifi::Configure::nifi_content_repository_class_name, content_repo_class);
308
309 std::shared_ptr<core::ContentRepository> content_repo = core::createContentRepository(content_repo_class, true, "content");
310
311 content_repo->initialize(configuration);
312
313 std::string content_repo_path;
314 if (configuration->get(minifi::Configure::nifi_dbcontent_repository_directory_default, content_repo_path)) {
315 minifi::setDefaultDirectory(content_repo_path);
316 }
317
318 configuration->set("c2.agent.heartbeat.period", "25");
319 configuration->set("nifi.c2.root.classes", "AgentInformation");
320 configuration->set("nifi.c2.enable", "true");
321 configuration->set("nifi.c2.agent.class","test");
322 configuration->set("c2.agent.listen", "true");
323 configuration->set("c2.agent.heartbeat.reporter.classes", "AgentPrinter");
324
325 configuration->get(minifi::Configure::nifi_configuration_class_name, nifi_configuration_class_name);
326
327 std::shared_ptr<minifi::io::StreamFactory> stream_factory = minifi::io::StreamFactory::getInstance(configuration);
328
329 std::unique_ptr<core::FlowConfiguration> flow_configuration = core::createFlowConfiguration(
330 prov_repo, flow_repo, content_repo, configuration, stream_factory, nifi_configuration_class_name);
331
332 std::shared_ptr<minifi::FlowController> controller = std::unique_ptr<minifi::FlowController>(
333 new minifi::FlowController(prov_repo, flow_repo, configuration, std::move(flow_configuration), content_repo, "manifest", false));
334 controller->load();
335 controller->start();
336 std::this_thread::sleep_for(std::chrono::milliseconds(10000));
337 controller->stop();
338}
339
340#endif /* CONTROLLER_CONTROLLER_H_ */

Callers 1

mainFunction · 0.85

Calls 11

createRepositoryFunction · 0.85
createContentRepositoryFunction · 0.85
setDefaultDirectoryFunction · 0.85
createFlowConfigurationFunction · 0.85
setHomeMethod · 0.80
setMethod · 0.45
initializeMethod · 0.45
getMethod · 0.45
loadMethod · 0.45
startMethod · 0.45
stopMethod · 0.45

Tested by

no test coverage detected