From 9e009b3ca7e96ea1e45f0235f4e9a6489c057ce8 Mon Sep 17 00:00:00 2001 From: Auke Klazema <klazema@astron.nl> Date: Wed, 27 Feb 2019 13:35:45 +0000 Subject: [PATCH] SW-596: Added port to the configuration reading code. And added additional exception handling. --- .../MainCU/src/MACScheduler/MACScheduler.cc | 66 +++++++++++++++++-- 1 file changed, 59 insertions(+), 7 deletions(-) diff --git a/MAC/APL/MainCU/src/MACScheduler/MACScheduler.cc b/MAC/APL/MainCU/src/MACScheduler/MACScheduler.cc index 978c8732617..e6db8eae9b4 100644 --- a/MAC/APL/MainCU/src/MACScheduler/MACScheduler.cc +++ b/MAC/APL/MainCU/src/MACScheduler/MACScheduler.cc @@ -252,17 +252,69 @@ GCFEvent::TResult MACScheduler::initial_state(GCFEvent& event, GCFPortInterface& // Try to connect to the SAS database. ParameterSet* pParamSet = globalParameterSet(); - string username = pParamSet->getString("OTDBusername"); - string DBname = pParamSet->getString("OTDBdatabasename"); - string password = pParamSet->getString("OTDBpassword"); - string hostname = pParamSet->getString("OTDBhostname"); + try + { + string username = pParamSet->getString("OTDBusername"); + } + catch(LOFAR::APSException& ex) + { + LOG_ERROR_STR("MACScheduler code caught an exception while trying to " + "read the OTDB database user name from its configuration file: " + << ex.what()); + throw(ex); + } + try + { + string DBname = pParamSet->getString("OTDBdatabasename"); + } + catch(LOFAR::APSException& ex) + { + LOG_ERROR_STR("MACScheduler code caught an exception while trying to " + "read the OTDB database name from its configuration file: " + << ex.what()); + throw(ex); + } + try + { + string password = pParamSet->getString("OTDBpassword"); + } + catch(LOFAR::APSException& ex) + { + LOG_ERROR_STR("MACScheduler code caught an exception while trying to " + "read the OTDB database password from its configuration file: " + << ex.what()); + throw(ex); + } + try + { + string hostname = pParamSet->getString("OTDBhostname"); + } + catch(LOFAR::APSException& ex) + { + LOG_ERROR_STR("MACScheduler code caught an exception while trying to " + "read the OTDB database server host name from its configuration file: " + << ex.what()); + throw(ex); + } + try + { + string port = pParamSet->getString("OTDBport"); + } + catch(LOFAR::APSException& ex) + { + LOG_ERROR_STR("MACScheduler code caught an exception while trying to " + "read the OTDB database server port from its configuration file: " + << ex.what()); + throw(ex); + } LOG_INFO_STR ("Trying to connect to the OTDB on " << hostname); - itsOTDBconnection= new OTDBconnection(username, password, DBname, hostname); + itsOTDBconnection= new OTDBconnection(username, password, DBname, hostname, port); ASSERTSTR (itsOTDBconnection, "Memory allocation error (OTDB)"); ASSERTSTR (itsOTDBconnection->connect(), - "Unable to connect to database " << DBname << " on " << hostname << - " using " << username << "," << password); + "Unable to connect to database " << DBname << " on " << hostname << + " port: " << port << + " using " << username << "," << password); LOG_INFO ("Connected to the OTDB"); itsPropertySet->setValue(PN_MS_OTDB_CONNECTED, GCFPVBool(true)); -- GitLab