#include <OnlineDB/EcalCondDB/interface/ODDCCCycle.h>
Public Member Functions | |
int | getDCCConfigurationID () const |
int | getId () const |
std::string | getTable () |
ODDCCCycle () | |
bool | operator!= (const ODDCCCycle &m) const |
bool | operator== (const ODDCCCycle &m) const |
void | setDCCConfigurationID (int x) |
void | setId (int id) |
~ODDCCCycle () | |
Private Member Functions | |
void | clear () |
void | fetchData (ODDCCCycle *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_dcc_config_id |
int | m_ID |
Friends | |
class | EcalCondDBInterface |
class | ODEcalCycle |
Definition at line 11 of file ODDCCCycle.h.
ODDCCCycle::ODDCCCycle | ( | ) |
Definition at line 9 of file ODDCCCycle.cc.
References IDBObject::m_conn, m_dcc_config_id, IDBObject::m_env, m_ID, IODConfig::m_readStmt, IODConfig::m_writeStmt, and NULL.
00010 { 00011 m_env = NULL; 00012 m_conn = NULL; 00013 m_writeStmt = NULL; 00014 m_readStmt = NULL; 00015 // 00016 m_ID = 0; 00017 m_dcc_config_id = 0; 00018 }
ODDCCCycle::~ODDCCCycle | ( | ) |
Definition at line 66 of file ODDCCCycle.cc.
References m_dcc_config_id.
00066 { 00067 m_dcc_config_id=0; 00068 }
void ODDCCCycle::fetchData | ( | ODDCCCycle * | result | ) | throw (std::runtime_error) [private] |
Definition at line 131 of file ODDCCCycle.cc.
References IDBObject::checkConnection(), e, IODConfig::m_readStmt, and HLT_VtxMuL3::result.
00133 { 00134 this->checkConnection(); 00135 result->clear(); 00136 00137 if(result->getId()==0){ 00138 throw(runtime_error("ODDCCConfig::fetchData(): no Id defined for this ODDCCConfig ")); 00139 } 00140 00141 try { 00142 00143 m_readStmt->setSQL("SELECT dcc_configuration_id FROM ecal_dcc_cycle " 00144 "WHERE cycle_id = :1 "); 00145 00146 m_readStmt->setInt(1, result->getId()); 00147 ResultSet* rset = m_readStmt->executeQuery(); 00148 00149 rset->next(); 00150 00151 result->setDCCConfigurationID( rset->getInt(1) ); 00152 00153 } catch (SQLException &e) { 00154 throw(runtime_error("ODDCCCycle::fetchData(): "+e.getMessage())); 00155 } 00156 }
int ODDCCCycle::fetchID | ( | ) | throw (std::runtime_error) [private] |
Definition at line 71 of file ODDCCCycle.cc.
References IDBObject::checkConnection(), e, IDBObject::m_conn, m_dcc_config_id, and m_ID.
00073 { 00074 // Return from memory if available 00075 if (m_ID) { 00076 return m_ID; 00077 } 00078 00079 this->checkConnection(); 00080 00081 try { 00082 Statement* stmt = m_conn->createStatement(); 00083 stmt->setSQL("SELECT cycle_id, dcc_configuration_id FROM ecal_dcc_cycle " 00084 "WHERE cycle_id = :1 "); 00085 stmt->setInt(1, m_ID); 00086 ResultSet* rset = stmt->executeQuery(); 00087 00088 if (rset->next()) { 00089 m_ID = rset->getInt(1); 00090 m_dcc_config_id = rset->getInt(2); 00091 } else { 00092 m_ID = 0; 00093 } 00094 m_conn->terminateStatement(stmt); 00095 } catch (SQLException &e) { 00096 throw(runtime_error("ODDCCCycle::fetchID: "+e.getMessage())); 00097 } 00098 00099 return m_ID; 00100 }
int ODDCCCycle::getDCCConfigurationID | ( | ) | const [inline] |
Definition at line 26 of file ODDCCCycle.h.
References m_dcc_config_id.
00026 {return m_dcc_config_id;}
int ODDCCCycle::getId | ( | ) | const [inline] |
std::string ODDCCCycle::getTable | ( | ) | [inline, virtual] |
void ODDCCCycle::insertConfig | ( | ) | throw (std::runtime_error) [private] |
Definition at line 158 of file ODDCCCycle.cc.
References e, IDBObject::m_conn, prepareWrite(), IODConfig::terminateWriteStatement(), and writeDB().
Referenced by ODEcalCycle::writeDB().
00160 { 00161 try { 00162 00163 prepareWrite(); 00164 writeDB(); 00165 m_conn->commit(); 00166 terminateWriteStatement(); 00167 } catch (std::runtime_error &e) { 00168 m_conn->rollback(); 00169 throw(e); 00170 } catch (...) { 00171 m_conn->rollback(); 00172 throw(std::runtime_error("EcalCondDBInterface::insertDataSet: Unknown exception caught")); 00173 } 00174 }
bool ODDCCCycle::operator!= | ( | const ODDCCCycle & | m | ) | const [inline] |
bool ODDCCCycle::operator== | ( | const ODDCCCycle & | m | ) | const [inline] |
void ODDCCCycle::prepareWrite | ( | ) | throw (std::runtime_error) [private, virtual] |
Implements IODConfig.
Definition at line 26 of file ODDCCCycle.cc.
References IDBObject::checkConnection(), e, IDBObject::m_conn, and IODConfig::m_writeStmt.
Referenced by insertConfig().
00028 { 00029 this->checkConnection(); 00030 00031 try { 00032 m_writeStmt = m_conn->createStatement(); 00033 m_writeStmt->setSQL("INSERT INTO ECAL_DCC_Cycle (cycle_id, dcc_configuration_id ) " 00034 "VALUES (:1, :2 )"); 00035 } catch (SQLException &e) { 00036 throw(runtime_error("ODDCCCycle::prepareWrite(): "+e.getMessage())); 00037 } 00038 }
Definition at line 104 of file ODDCCCycle.cc.
References IDBObject::checkConnection(), e, IDBObject::m_conn, m_dcc_config_id, and m_ID.
00106 { 00107 this->checkConnection(); 00108 00109 00110 try { 00111 Statement* stmt = m_conn->createStatement(); 00112 stmt->setSQL("SELECT cycle_id, dcc_configuration_id FROM ecal_dcc_cycle " 00113 "WHERE cycle_id = :1 "); 00114 stmt->setInt(1, id); 00115 ResultSet* rset = stmt->executeQuery(); 00116 00117 if (rset->next()) { 00118 m_ID = rset->getInt(1); 00119 m_dcc_config_id = rset->getInt(2); 00120 } else { 00121 m_ID = 0; 00122 } 00123 m_conn->terminateStatement(stmt); 00124 } catch (SQLException &e) { 00125 throw(runtime_error("ODDCCCycle::fetchID: "+e.getMessage())); 00126 } 00127 }
Definition at line 25 of file ODDCCCycle.h.
References m_dcc_config_id.
Referenced by ODEcalCycle::writeDB().
00025 {m_dcc_config_id=x;}
void ODDCCCycle::writeDB | ( | ) | throw (std::runtime_error) [private] |
Definition at line 41 of file ODDCCCycle.cc.
References IDBObject::checkConnection(), IODConfig::checkPrepare(), e, and IODConfig::m_writeStmt.
Referenced by insertConfig().
00042 { 00043 this->checkConnection(); 00044 this->checkPrepare(); 00045 00046 try { 00047 00048 m_writeStmt->setInt(1, this->getId()); 00049 m_writeStmt->setInt(2, this->getDCCConfigurationID()); 00050 00051 m_writeStmt->executeUpdate(); 00052 00053 00054 } catch (SQLException &e) { 00055 throw(runtime_error("ODDCCCycle::writeDB: "+e.getMessage())); 00056 } 00057 00058 // Now get the ID 00059 if (!this->fetchID()) { 00060 throw(runtime_error("ODDCCCycle::writeDB: Failed to write")); 00061 } 00062 00063 00064 }
friend class EcalCondDBInterface [friend] |
friend class ODEcalCycle [friend] |
Definition at line 14 of file ODDCCCycle.h.
int ODDCCCycle::m_dcc_config_id [private] |
Definition at line 35 of file ODDCCCycle.h.
Referenced by clear(), fetchID(), getDCCConfigurationID(), ODDCCCycle(), setByID(), and setDCCConfigurationID().
int ODDCCCycle::m_ID [private] |
Definition at line 34 of file ODDCCCycle.h.
Referenced by fetchID(), getId(), ODDCCCycle(), operator==(), setByID(), and setId().