CMS 3D CMS Logo

ODTTCciCycle Class Reference

#include <OnlineDB/EcalCondDB/interface/ODTTCciCycle.h>

Inheritance diagram for ODTTCciCycle:

IODConfig IDBObject

List of all members.

Public Member Functions

int getId () const
std::string getTable ()
int getTTCciConfigurationID () const
 ODTTCciCycle ()
bool operator!= (const ODTTCciCycle &m) const
bool operator== (const ODTTCciCycle &m) const
void setId (int id)
void setTTCciConfigurationID (int x)
 ~ODTTCciCycle ()

Private Member Functions

void clear ()
void fetchData (ODTTCciCycle *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_ttcci_config_id

Friends

class EcalCondDBInterface
class ODEcalCycle


Detailed Description

Definition at line 11 of file ODTTCciCycle.h.


Constructor & Destructor Documentation

ODTTCciCycle::ODTTCciCycle (  ) 

Definition at line 9 of file ODTTCciCycle.cc.

References IDBObject::m_conn, IDBObject::m_env, m_ID, IODConfig::m_readStmt, m_ttcci_config_id, 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_ttcci_config_id = 0;
00018 }

ODTTCciCycle::~ODTTCciCycle (  ) 

Definition at line 21 of file ODTTCciCycle.cc.

00022 {
00023 }


Member Function Documentation

void ODTTCciCycle::clear ( void   )  [private]

Definition at line 66 of file ODTTCciCycle.cc.

References m_ttcci_config_id.

00066                         {
00067   m_ttcci_config_id=0;
00068 }

void ODTTCciCycle::fetchData ( ODTTCciCycle result  )  throw (std::runtime_error) [private]

Definition at line 131 of file ODTTCciCycle.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("ODTTCciConfig::fetchData(): no Id defined for this ODTTCciConfig "));
00139   }
00140 
00141   try {
00142 
00143     m_readStmt->setSQL("SELECT  ttcci_configuration_id FROM ecal_ttcci_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->setTTCciConfigurationID(       rset->getInt(1) );
00152 
00153   } catch (SQLException &e) {
00154     throw(runtime_error("ODTTCciCycle::fetchData():  "+e.getMessage()));
00155   }
00156 }

int ODTTCciCycle::fetchID (  )  throw (std::runtime_error) [private]

Definition at line 71 of file ODTTCciCycle.cc.

References IDBObject::checkConnection(), e, IDBObject::m_conn, m_ID, and m_ttcci_config_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, ttcci_configuration_id FROM ecal_ttcci_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_ttcci_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("ODTTCciCycle::fetchID:  "+e.getMessage()));
00097   }
00098 
00099   return m_ID;
00100 }

int ODTTCciCycle::getId (  )  const [inline]

Definition at line 22 of file ODTTCciCycle.h.

References m_ID.

00022 { return m_ID;} ;

std::string ODTTCciCycle::getTable (  )  [inline, virtual]

Implements IODConfig.

Definition at line 19 of file ODTTCciCycle.h.

00019 { return "ECAL_TTCci_CYCLE"; }

int ODTTCciCycle::getTTCciConfigurationID (  )  const [inline]

Definition at line 26 of file ODTTCciCycle.h.

References m_ttcci_config_id.

00026 {return m_ttcci_config_id;}

void ODTTCciCycle::insertConfig (  )  throw (std::runtime_error) [private]

Definition at line 159 of file ODTTCciCycle.cc.

References e, IDBObject::m_conn, prepareWrite(), IODConfig::terminateWriteStatement(), and writeDB().

Referenced by ODEcalCycle::writeDB().

00161 {
00162   try {
00163 
00164     prepareWrite();
00165     writeDB();
00166     m_conn->commit();
00167     terminateWriteStatement();
00168   } catch (std::runtime_error &e) {
00169     m_conn->rollback();
00170     throw(e);
00171   } catch (...) {
00172     m_conn->rollback();
00173     throw(std::runtime_error("EcalCondDBInterface::insertDataSet:  Unknown exception caught"));
00174   }
00175 }

bool ODTTCciCycle::operator!= ( const ODTTCciCycle m  )  const [inline]

Definition at line 30 of file ODTTCciCycle.h.

00030 { return !(*this == m); }

bool ODTTCciCycle::operator== ( const ODTTCciCycle m  )  const [inline]

Definition at line 29 of file ODTTCciCycle.h.

References m_ID.

00029 { return ( m_ID   == m.m_ID); }

void ODTTCciCycle::prepareWrite (  )  throw (std::runtime_error) [private, virtual]

Implements IODConfig.

Definition at line 26 of file ODTTCciCycle.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_TTCci_Cycle (cycle_id, ttcci_configuration_id ) "
00034                  "VALUES (:1, :2 )");
00035   } catch (SQLException &e) {
00036     throw(runtime_error("ODTTCciCycle::prepareWrite():  "+e.getMessage()));
00037   }
00038 }

void ODTTCciCycle::setByID ( int  id  )  throw (std::runtime_error) [private]

Definition at line 104 of file ODTTCciCycle.cc.

References IDBObject::checkConnection(), e, IDBObject::m_conn, m_ID, and m_ttcci_config_id.

00106 {
00107    this->checkConnection();
00108 
00109 
00110   try {
00111     Statement* stmt = m_conn->createStatement();
00112     stmt->setSQL("SELECT cycle_id, ttcci_configuration_id FROM ecal_ttcci_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_ttcci_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("ODTTCciCycle::fetchID:  "+e.getMessage()));
00126   }
00127 }

void ODTTCciCycle::setId ( int  id  )  [inline]

Definition at line 21 of file ODTTCciCycle.h.

References m_ID.

Referenced by ODEcalCycle::writeDB().

00021 {m_ID=id;}

void ODTTCciCycle::setTTCciConfigurationID ( int  x  )  [inline]

Definition at line 25 of file ODTTCciCycle.h.

References m_ttcci_config_id.

Referenced by ODEcalCycle::writeDB().

void ODTTCciCycle::writeDB (  )  throw (std::runtime_error) [private]

Definition at line 41 of file ODTTCciCycle.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->getTTCciConfigurationID());
00050 
00051     m_writeStmt->executeUpdate();
00052 
00053 
00054   } catch (SQLException &e) {
00055     throw(runtime_error("ODTTCciCycle::writeDB:  "+e.getMessage()));
00056   }
00057 
00058   // Now get the ID
00059   if (!this->fetchID()) {
00060     throw(runtime_error("ODTTCciCycle::writeDB:  Failed to write"));
00061   }
00062   
00063  
00064 }


Friends And Related Function Documentation

friend class EcalCondDBInterface [friend]

Reimplemented from IDBObject.

Definition at line 13 of file ODTTCciCycle.h.

friend class ODEcalCycle [friend]

Definition at line 14 of file ODTTCciCycle.h.


Member Data Documentation

int ODTTCciCycle::m_ID [private]

Definition at line 34 of file ODTTCciCycle.h.

Referenced by fetchID(), getId(), ODTTCciCycle(), operator==(), setByID(), and setId().

int ODTTCciCycle::m_ttcci_config_id [private]

Definition at line 35 of file ODTTCciCycle.h.

Referenced by clear(), fetchID(), getTTCciConfigurationID(), ODTTCciCycle(), setByID(), and setTTCciConfigurationID().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:29:13 2009 for CMSSW by  doxygen 1.5.4