#include <ODLTCCycle.h>
Public Member Functions | |
int | getId () const |
int | getLTCConfigurationID () const |
std::string | getTable () |
ODLTCCycle () | |
bool | operator!= (const ODLTCCycle &m) const |
bool | operator== (const ODLTCCycle &m) const |
void | setId (int id) |
void | setLTCConfigurationID (int x) |
~ODLTCCycle () | |
Private Member Functions | |
void | clear () |
void | fetchData (ODLTCCycle *result) throw (std::runtime_error) |
int | fetchID () throw (std::runtime_error) |
void | insertConfig () throw (std::runtime_error) |
void | prepareWrite () throw (std::runtime_error) |
void | setByID (int id) throw (std::runtime_error) |
void | writeDB () throw (std::runtime_error) |
Private Attributes | |
int | m_ID |
int | m_ltc_config_id |
Friends | |
class | EcalCondDBInterface |
class | ODEcalCycle |
Definition at line 11 of file ODLTCCycle.h.
ODLTCCycle::ODLTCCycle | ( | ) |
Definition at line 9 of file ODLTCCycle.cc.
References NULL.
{ m_env = NULL; m_conn = NULL; m_writeStmt = NULL; m_readStmt = NULL; // m_ID = 0; m_ltc_config_id = 0; }
ODLTCCycle::~ODLTCCycle | ( | ) |
Definition at line 21 of file ODLTCCycle.cc.
{ }
void ODLTCCycle::clear | ( | void | ) | [private] |
Definition at line 66 of file ODLTCCycle.cc.
{ m_ltc_config_id=0; }
void ODLTCCycle::fetchData | ( | ODLTCCycle * | result | ) | throw (std::runtime_error) [private] |
Definition at line 131 of file ODLTCCycle.cc.
References alignCSCRings::e, and query::result.
{ this->checkConnection(); result->clear(); if(result->getId()==0){ throw(std::runtime_error("ODLTCConfig::fetchData(): no Id defined for this ODLTCConfig ")); } try { m_readStmt->setSQL("SELECT ltc_configuration_id FROM ecal_ltc_cycle " "WHERE cycle_id = :1 "); m_readStmt->setInt(1, result->getId()); ResultSet* rset = m_readStmt->executeQuery(); rset->next(); result->setLTCConfigurationID( rset->getInt(1) ); } catch (SQLException &e) { throw(std::runtime_error("ODLTCCycle::fetchData(): "+e.getMessage())); } }
int ODLTCCycle::fetchID | ( | ) | throw (std::runtime_error) [private] |
Definition at line 71 of file ODLTCCycle.cc.
References alignCSCRings::e.
{ // Return from memory if available if (m_ID) { return m_ID; } this->checkConnection(); try { Statement* stmt = m_conn->createStatement(); stmt->setSQL("SELECT cycle_id, ltc_configuration_id FROM ecal_ltc_cycle " "WHERE cycle_id = :1 "); stmt->setInt(1, m_ID); ResultSet* rset = stmt->executeQuery(); if (rset->next()) { m_ID = rset->getInt(1); m_ltc_config_id = rset->getInt(2); } else { m_ID = 0; } m_conn->terminateStatement(stmt); } catch (SQLException &e) { throw(std::runtime_error("ODLTCCycle::fetchID: "+e.getMessage())); } return m_ID; }
int ODLTCCycle::getId | ( | ) | const [inline] |
int ODLTCCycle::getLTCConfigurationID | ( | ) | const [inline] |
std::string ODLTCCycle::getTable | ( | ) | [inline, virtual] |
void ODLTCCycle::insertConfig | ( | ) | throw (std::runtime_error) [private] |
Definition at line 158 of file ODLTCCycle.cc.
References alignCSCRings::e.
Referenced by ODEcalCycle::writeDB().
{ try { prepareWrite(); writeDB(); m_conn->commit(); terminateWriteStatement(); } catch (std::runtime_error &e) { m_conn->rollback(); throw(e); } catch (...) { m_conn->rollback(); throw(std::runtime_error("EcalCondDBInterface::insertDataSet: Unknown exception caught")); } }
bool ODLTCCycle::operator!= | ( | const ODLTCCycle & | m | ) | const [inline] |
bool ODLTCCycle::operator== | ( | const ODLTCCycle & | m | ) | const [inline] |
void ODLTCCycle::prepareWrite | ( | ) | throw (std::runtime_error) [private, virtual] |
Implements IODConfig.
Definition at line 26 of file ODLTCCycle.cc.
References alignCSCRings::e.
{ this->checkConnection(); try { m_writeStmt = m_conn->createStatement(); m_writeStmt->setSQL("INSERT INTO ECAL_LTC_Cycle (cycle_id, ltc_configuration_id ) " "VALUES (:1, :2 )"); } catch (SQLException &e) { throw(std::runtime_error("ODLTCCycle::prepareWrite(): "+e.getMessage())); } }
void ODLTCCycle::setByID | ( | int | id | ) | throw (std::runtime_error) [private] |
Definition at line 104 of file ODLTCCycle.cc.
References alignCSCRings::e.
{ this->checkConnection(); try { Statement* stmt = m_conn->createStatement(); stmt->setSQL("SELECT cycle_id, ltc_configuration_id FROM ecal_ltc_cycle " "WHERE cycle_id = :1 "); stmt->setInt(1, id); ResultSet* rset = stmt->executeQuery(); if (rset->next()) { m_ID = rset->getInt(1); m_ltc_config_id = rset->getInt(2); } else { m_ID = 0; } m_conn->terminateStatement(stmt); } catch (SQLException &e) { throw(std::runtime_error("ODLTCCycle::fetchID: "+e.getMessage())); } }
void ODLTCCycle::setId | ( | int | id | ) | [inline] |
Definition at line 22 of file ODLTCCycle.h.
References errorMatrix2Lands_multiChannel::id, and m_ID.
Referenced by ODEcalCycle::writeDB().
void ODLTCCycle::setLTCConfigurationID | ( | int | x | ) | [inline] |
Definition at line 26 of file ODLTCCycle.h.
References m_ltc_config_id, and x.
Referenced by ODEcalCycle::writeDB().
{m_ltc_config_id=x;}
void ODLTCCycle::writeDB | ( | ) | throw (std::runtime_error) [private] |
Definition at line 41 of file ODLTCCycle.cc.
References alignCSCRings::e, and getId().
{ this->checkConnection(); this->checkPrepare(); try { m_writeStmt->setInt(1, this->getId()); m_writeStmt->setInt(2, this->getLTCConfigurationID()); m_writeStmt->executeUpdate(); } catch (SQLException &e) { throw(std::runtime_error("ODLTCCycle::writeDB: "+e.getMessage())); } // Now get the ID if (!this->fetchID()) { throw(std::runtime_error("ODLTCCycle::writeDB: Failed to write")); } }
friend class EcalCondDBInterface [friend] |
Reimplemented from IDBObject.
Definition at line 13 of file ODLTCCycle.h.
friend class ODEcalCycle [friend] |
Definition at line 14 of file ODLTCCycle.h.
int ODLTCCycle::m_ID [private] |
Definition at line 35 of file ODLTCCycle.h.
Referenced by getId(), operator==(), and setId().
int ODLTCCycle::m_ltc_config_id [private] |
Definition at line 36 of file ODLTCCycle.h.
Referenced by getLTCConfigurationID(), and setLTCConfigurationID().