Loading src/DBManager.cpp +8 −4 Original line number Diff line number Diff line Loading @@ -114,12 +114,12 @@ DBManager::InformationList DBManager::retrieveInformation(std::string schema, } //============================================================================== // DBManager::retrieveInformation() // DBManager::retrieveNewTuples() //============================================================================== soci::rowset<soci::row> DBManager::searchNewTuples(std::string schema, soci::rowset<soci::row> DBManager::retrieveNewTuples(std::string schema, std::string table, std::tm update_time) throw(soci::soci_error) { DEBUG_STREAM << "DBManager::searchNewTuples()" << endl; DEBUG_STREAM << "DBManager::retrieveNewTuples()" << endl; soci::session session(*m_connectionPool_sp); Loading @@ -127,7 +127,11 @@ soci::rowset<soci::row> DBManager::searchNewTuples(std::string schema, << schema << "." << table << " where update_time>=:timestamp", soci::use(update_time,"timestamp")); return rows; MetadataList metadataList; std::copy(rows.begin(), rows.end(), std::back_inserter(metadataList)); return metadataList; } } //namespace src/DBManager.h +3 −1 Original line number Diff line number Diff line Loading @@ -75,7 +75,9 @@ public: //------------------------------------------------------------------------------ // [Public] Search new tuple method //------------------------------------------------------------------------------ virtual soci::rowset<soci::row> searchNewTuples(std::string, std::string, typedef std::vector<soci::row> MetadataList; virtual MetadataList retrieveNewTuples(std::string, std::string, std::tm) throw(soci::soci_error); protected: Loading src/ProtocolManager.cpp +36 −2 Original line number Diff line number Diff line Loading @@ -187,6 +187,9 @@ ResponseSP ProtocolManager::prepareValidation(RequestSP request_sp) } catch(std::runtime_error& ex) { WARN_STREAM << "ProtocolManager::prepareValidation() " << ex.what() << " from " << m_remoteEndpoint << endl; validationRes->set_state(Response::Validation::REJECTED); validationRes->set_status(ex.what()); } Loading Loading @@ -244,17 +247,39 @@ ResponseSP ProtocolManager::prepareMetadata(RequestSP request_sp) << "schema " << schema << " table " << table << " timestamp " << asctime(×tamp) << " from " << m_remoteEndpoint << endl; try { DBManager::MetadataList metadataList = m_dBManager_sp->retrieveNewTuples(schema, table, timestamp); fillResponse(metadataRes, metadataList); metadataRes->set_state(Response::Metadata::ACCEPTED); metadataRes->set_status("Metadata ready"); } catch(std::runtime_error& ex) { WARN_STREAM << "ProtocolManager::prepareMetadata() " << ex.what() << " from " << m_remoteEndpoint << endl; metadataRes->set_state(Response::Metadata::REJECTED); metadataRes->set_status(ex.what()); } } else { WARN_STREAM << "ProtocolManager::prepareMetadata() " << "Not validated from " << m_remoteEndpoint << endl; metadataRes->set_state(Response::Metadata::REJECTED); metadataRes->set_status("Not validated"); } } else { WARN_STREAM << "ProtocolManager::prepareMetadata() " << "Not authorised from " << m_remoteEndpoint << endl; metadataRes->set_state(Response::Metadata::REJECTED); metadataRes->set_status("Not authorised"); } Loading Loading @@ -324,4 +349,13 @@ void ProtocolManager::validateColumn(const Request::Validation::Column& column, } } //============================================================================== // ProtocolManager::fillResponse() //============================================================================== void ProtocolManager::fillResponse(const Response::Metadata& metadataRes, DBManager::MetadataList metadataList) throw(std::runtime_error) { DEBUG_STREAM << "ProtocolManager::fillResponse()" << endl; } } //namespace src/ProtocolManager.h +4 −1 Original line number Diff line number Diff line Loading @@ -78,6 +78,9 @@ protected: virtual void validateColumn(const Request::Validation::Column&, DBManager::InformationList&) throw(std::runtime_error); virtual void fillResponse(const Response::Metadata&, DBManager::MetadataList) throw(std::runtime_error); //------------------------------------------------------------------------------ // [Protected] Class variables //------------------------------------------------------------------------------ Loading Loading
src/DBManager.cpp +8 −4 Original line number Diff line number Diff line Loading @@ -114,12 +114,12 @@ DBManager::InformationList DBManager::retrieveInformation(std::string schema, } //============================================================================== // DBManager::retrieveInformation() // DBManager::retrieveNewTuples() //============================================================================== soci::rowset<soci::row> DBManager::searchNewTuples(std::string schema, soci::rowset<soci::row> DBManager::retrieveNewTuples(std::string schema, std::string table, std::tm update_time) throw(soci::soci_error) { DEBUG_STREAM << "DBManager::searchNewTuples()" << endl; DEBUG_STREAM << "DBManager::retrieveNewTuples()" << endl; soci::session session(*m_connectionPool_sp); Loading @@ -127,7 +127,11 @@ soci::rowset<soci::row> DBManager::searchNewTuples(std::string schema, << schema << "." << table << " where update_time>=:timestamp", soci::use(update_time,"timestamp")); return rows; MetadataList metadataList; std::copy(rows.begin(), rows.end(), std::back_inserter(metadataList)); return metadataList; } } //namespace
src/DBManager.h +3 −1 Original line number Diff line number Diff line Loading @@ -75,7 +75,9 @@ public: //------------------------------------------------------------------------------ // [Public] Search new tuple method //------------------------------------------------------------------------------ virtual soci::rowset<soci::row> searchNewTuples(std::string, std::string, typedef std::vector<soci::row> MetadataList; virtual MetadataList retrieveNewTuples(std::string, std::string, std::tm) throw(soci::soci_error); protected: Loading
src/ProtocolManager.cpp +36 −2 Original line number Diff line number Diff line Loading @@ -187,6 +187,9 @@ ResponseSP ProtocolManager::prepareValidation(RequestSP request_sp) } catch(std::runtime_error& ex) { WARN_STREAM << "ProtocolManager::prepareValidation() " << ex.what() << " from " << m_remoteEndpoint << endl; validationRes->set_state(Response::Validation::REJECTED); validationRes->set_status(ex.what()); } Loading Loading @@ -244,17 +247,39 @@ ResponseSP ProtocolManager::prepareMetadata(RequestSP request_sp) << "schema " << schema << " table " << table << " timestamp " << asctime(×tamp) << " from " << m_remoteEndpoint << endl; try { DBManager::MetadataList metadataList = m_dBManager_sp->retrieveNewTuples(schema, table, timestamp); fillResponse(metadataRes, metadataList); metadataRes->set_state(Response::Metadata::ACCEPTED); metadataRes->set_status("Metadata ready"); } catch(std::runtime_error& ex) { WARN_STREAM << "ProtocolManager::prepareMetadata() " << ex.what() << " from " << m_remoteEndpoint << endl; metadataRes->set_state(Response::Metadata::REJECTED); metadataRes->set_status(ex.what()); } } else { WARN_STREAM << "ProtocolManager::prepareMetadata() " << "Not validated from " << m_remoteEndpoint << endl; metadataRes->set_state(Response::Metadata::REJECTED); metadataRes->set_status("Not validated"); } } else { WARN_STREAM << "ProtocolManager::prepareMetadata() " << "Not authorised from " << m_remoteEndpoint << endl; metadataRes->set_state(Response::Metadata::REJECTED); metadataRes->set_status("Not authorised"); } Loading Loading @@ -324,4 +349,13 @@ void ProtocolManager::validateColumn(const Request::Validation::Column& column, } } //============================================================================== // ProtocolManager::fillResponse() //============================================================================== void ProtocolManager::fillResponse(const Response::Metadata& metadataRes, DBManager::MetadataList metadataList) throw(std::runtime_error) { DEBUG_STREAM << "ProtocolManager::fillResponse()" << endl; } } //namespace
src/ProtocolManager.h +4 −1 Original line number Diff line number Diff line Loading @@ -78,6 +78,9 @@ protected: virtual void validateColumn(const Request::Validation::Column&, DBManager::InformationList&) throw(std::runtime_error); virtual void fillResponse(const Response::Metadata&, DBManager::MetadataList) throw(std::runtime_error); //------------------------------------------------------------------------------ // [Protected] Class variables //------------------------------------------------------------------------------ Loading