Files
qt5-legatus-legacy/Lts/Services/Evaluations/initialization.cpp
T

99 lines
2.4 KiB
C++
Executable File

/**
* Initialization for AssetManagement
* $Id$
* $HeadURL$
* $Author$
*/
#include "initialization.h"
#include "settings.h"
#include "handler_criterium.h"
#include "handler_comment.h"
#include "handler_san_nine_liner.h"
#include <DDS/DDSConnector/dds_connector.h>
#include <ngldb/db_service_handler.h>
#include <Core/pacemaker.h>
namespace Evaluations
{
Initialization::Initialization()
: m_ddsHandler(nullptr)
, m_dbHandler(nullptr)
, m_handlerCriterium(nullptr)
, m_handlerComment(nullptr)
, m_logger(getLogger("Initialization"))
{}
Initialization::~Initialization()
{
m_handlerComment = nullptr;
m_handlerCriterium = nullptr;
m_ddsHandler = nullptr;
m_dbHandler = nullptr;
}
bool Initialization::initialize(const std::shared_ptr<DDSConnector::DdsConnector> &ddsConnector,
const QSqlDatabase &sqlDb)
{
INFO_LOG(m_logger) << "Start Evaluations Initialization.";
// initialize DDS
m_ddsHandler = std::make_shared<DdsHandler>(ddsConnector);
if (!m_ddsHandler->init())
{
ERROR_LOG(m_logger) << "Initialisation ddsHandler failed.";
return false;
}
DEBUG_LOG(m_logger) << "Initialisation ddsHandler succesful.";
// initialize database
m_dbHandler = std::make_shared<DbHandler>();
if (!m_dbHandler->init(ddsConnector->getPartitionId(), sqlDb))
{
ERROR_LOG(m_logger) << "Initialisation dbHandler failed.";
return false;
}
DEBUG_LOG(m_logger) << "Initialisation dbHandler succesful.";
// HandlerCriterium
m_handlerCriterium.reset(new HandlerCriterium(m_ddsHandler, m_dbHandler->db()));
// HandlerComment
m_handlerComment.reset(new HandlerComment(m_ddsHandler, m_dbHandler->db()));
// HandlerNineLiner
m_handlerSanNineLiner.reset(new HandlerSanNineLiner(m_ddsHandler, m_dbHandler->db()));
return true;
}
bool Initialization::loadFromDatabase()
{
if (!m_ddsHandler || !m_dbHandler || !m_handlerCriterium || !m_handlerComment || !m_handlerSanNineLiner)
return false;
if (!m_handlerCriterium->init())
{
ERROR_LOG(m_logger) << "Initialisation HandlerCriterium failed.";
return false;
}
if (!m_handlerComment->init())
{
ERROR_LOG(m_logger) << "Initialisation HandlerComment failed.";
return false;
}
if (!m_handlerSanNineLiner->init())
{
ERROR_LOG(m_logger) << "Initialisation HandlerSanNineLiner failed.";
return false;
}
return true;
}
} // namespace Evaluations