91 lines
2.4 KiB
C++
Executable File
91 lines
2.4 KiB
C++
Executable File
/**
|
|
* Initialization for MarkerManagement
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
* Created by hjl, SLSE, 2016-04-05
|
|
*/
|
|
|
|
#include "initialization.h"
|
|
#include "handler_marker.h"
|
|
#include "handler_snapshot.h"
|
|
#include "settings.h"
|
|
|
|
#include <DDS/DDSConnector/dds_connector.h>
|
|
#include <ngldb/db_service_handler.h>
|
|
|
|
namespace MarkerManagement
|
|
{
|
|
|
|
|
|
Initialization::Initialization()
|
|
: m_logger(getLogger("Initialization"))
|
|
{
|
|
} // end of ctor()
|
|
//-----------------------------------------------------------------------------
|
|
|
|
Initialization::~Initialization()
|
|
{
|
|
m_handlerMarker = nullptr;
|
|
m_handlerSnapshot = nullptr;
|
|
|
|
m_dbHandler = nullptr;
|
|
m_ddsHandler = nullptr;
|
|
} // end of dtor()
|
|
//-----------------------------------------------------------------------------
|
|
|
|
bool Initialization::initialize(const std::shared_ptr<DDSConnector::DdsConnector> &ddsConnector, const QSqlDatabase &sqlDb)
|
|
{
|
|
INFO_LOG(m_logger) << "--- Start MarkerManagement Initialization.";
|
|
|
|
// initialize DDS
|
|
// for MarkerManagement => exerciseId = partitionId
|
|
m_ddsHandler = std::make_shared<DdsHandler>(ddsConnector);
|
|
if (!m_ddsHandler->init())
|
|
{
|
|
ERROR_LOG(m_logger) << "Initialisation DdsHandler failed.";
|
|
return false;
|
|
}
|
|
|
|
// initialize database
|
|
m_dbHandler = std::make_shared<DbHandler>();
|
|
if (!m_dbHandler->init(ddsConnector->getPartitionId(), sqlDb))
|
|
{
|
|
ERROR_LOG(m_logger) << "Initialisation dbHandler failed.";
|
|
return false;
|
|
}
|
|
|
|
// read project specific data from database
|
|
// publish project specific data
|
|
// initialize handler
|
|
m_handlerMarker.reset(new HandlerMarker(m_ddsHandler, m_dbHandler->db()));
|
|
m_handlerSnapshot.reset(new HandlerSnapshot(m_ddsHandler, m_dbHandler->db()));
|
|
|
|
INFO_LOG(m_logger) << "MRK Handler initialized.";
|
|
|
|
return true;
|
|
} // end of initialize()
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
|
bool Initialization::loadFromDatabase()
|
|
{
|
|
if (!m_handlerMarker || !m_handlerMarker->init())
|
|
{
|
|
ERROR_LOG(m_logger) << "Initialisation HandlerMarker failed.";
|
|
return false;
|
|
}
|
|
if (!m_handlerSnapshot || !m_handlerSnapshot->init())
|
|
{
|
|
ERROR_LOG(m_logger) << "Initialisation HandlerSnapshot failed.";
|
|
return false;
|
|
}
|
|
|
|
INFO_LOG(m_logger) << "MRK Handler initialized.";
|
|
return true;
|
|
} // end of loadFromDatabase()
|
|
//-----------------------------------------------------------------------------
|
|
|
|
} // namespace MarkerManagement
|
|
|