CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
DateHandler Class Reference

#include <DateHandler.h>

Public Member Functions

 DateHandler (oracle::occi::Environment *env, oracle::occi::Connection *conn)
 
Tm dateToTm (oracle::occi::Date &date) const
 
oracle::occi::Date getCurrentDate ()
 
oracle::occi::Date getNegInfDate () const
 
Tm getNegInfTm () const
 
oracle::occi::Date getPlusInfDate () const
 
Tm getPlusInfTm () const
 
oracle::occi::Date maxDate ()
 
oracle::occi::Date minDate ()
 
oracle::occi::Date tmToDate (const Tm &inTm) const
 
 ~DateHandler ()
 

Private Member Functions

 DateHandler ()=delete
 

Private Attributes

oracle::occi::Connection * m_conn
 
oracle::occi::Environment * m_env
 
Tm NEG_INF
 
oracle::occi::Date NEG_INF_DATE
 
Tm PLUS_INF
 
oracle::occi::Date PLUS_INF_DATE
 

Detailed Description

Definition at line 7 of file DateHandler.h.

Constructor & Destructor Documentation

DateHandler::DateHandler ( oracle::occi::Environment *  env,
oracle::occi::Connection *  conn 
)
DateHandler::~DateHandler ( )

Definition at line 17 of file DateHandler.cc.

17 {}
DateHandler::DateHandler ( )
privatedelete

Referenced by maxDate().

Member Function Documentation

Tm DateHandler::dateToTm ( oracle::occi::Date &  date) const

Translate an oracle Date object to a Tm object

Definition at line 28 of file DateHandler.cc.

References min(), LaserDQM_cfi::mon, and fileinputsource_cfi::sec.

Referenced by RunCommentDat::fetchData(), FEConfigTimingInfo::fetchData(), FEConfigSpikeInfo::fetchData(), FEConfigPedInfo::fetchData(), FEConfigLinInfo::fetchData(), FEConfigSlidingInfo::fetchData(), ODCond2ConfInfo::fetchData(), FEConfigLUTInfo::fetchData(), FEConfigFgrInfo::fetchData(), FEConfigWeightInfo::fetchData(), ODRunConfigInfo::fetchData(), FEConfigMainInfo::fetchData(), RunList::fetchGlobalRunsByLocation(), FEConfigTimingInfo::fetchLastData(), FEConfigSpikeInfo::fetchLastData(), FEConfigWeightInfo::fetchLastData(), FEConfigPedInfo::fetchLastData(), FEConfigFgrInfo::fetchLastData(), FEConfigSlidingInfo::fetchLastData(), FEConfigLinInfo::fetchLastData(), FEConfigLUTInfo::fetchLastData(), MonRunList::fetchLastNRuns(), RunList::fetchLastNRuns(), MonRunList::fetchRuns(), RunList::fetchRuns(), RunList::fetchRunsByLocation(), DCSPTMTempList::fetchValuesForECID(), DCSPTMTempList::fetchValuesForECIDAndTime(), RunDCSMagnetDat::fillTheMap(), RunDCSLVDat::fillTheMap(), RunDCSHVDat::fillTheMap(), LMFCorrCoefDat::getCorrections(), LMFIOV::getParameters(), LMFRunIOV::getParameters(), LMFSeqDat::getParameters(), maxDate(), DCUIOV::setByID(), CaliIOV::setByID(), MODRunIOV::setByID(), FEConfigSpikeInfo::setByID(), FEConfigTimingInfo::setByID(), MonRunIOV::setByID(), RunIOV::setByID(), FEConfigLUTInfo::setByID(), FEConfigWeightInfo::setByID(), FEConfigFgrInfo::setByID(), FEConfigPedInfo::setByID(), FEConfigSlidingInfo::setByID(), FEConfigLinInfo::setByID(), ODRunConfigInfo::setByID(), FEConfigMainInfo::setByID(), RunIOV::setByRecentData(), MODRunIOV::setByRun(), MonRunIOV::setByRun(), RunIOV::setByRun(), DCUIOV::setByTm(), and CaliIOV::setByTm().

28  {
29  if (date.isNull()) {
30  return Tm();
31  }
32 
33  int year;
34  unsigned int mon; // month
35  unsigned int mday; // day of month
36  unsigned int hour;
37  unsigned int min; // minute
38  unsigned int sec; // second
39 
40  date.getDate(year, mon, mday, hour, min, sec);
41 
42  // work on the provided tm
43  struct tm retTm;
44  retTm.tm_year = year - 1900;
45  retTm.tm_mon = mon - 1;
46  retTm.tm_mday = mday;
47  retTm.tm_hour = hour;
48  retTm.tm_min = min;
49  retTm.tm_sec = sec;
50  retTm.tm_isdst = 0;
51  retTm.tm_wday = 0;
52  retTm.tm_yday = 0;
53 
54  mktime(&retTm); // calculates tm_wday and tm_yday
55 
56  return Tm(&retTm);
57 }
T min(T a, T b)
Definition: MathUtil.h:58
Definition: Tm.h:13
oracle::occi::Date DateHandler::getCurrentDate ( )
inline

Get the current system date

Definition at line 20 of file DateHandler.h.

References m_env.

20 { return oracle::occi::Date(oracle::occi::Date::getSystemDate(m_env)); }
oracle::occi::Environment * m_env
Definition: DateHandler.h:45
oracle::occi::Date DateHandler::getNegInfDate ( ) const
inline

Definition at line 14 of file DateHandler.h.

References NEG_INF_DATE.

14 { return NEG_INF_DATE; }
oracle::occi::Date NEG_INF_DATE
Definition: DateHandler.h:50
Tm DateHandler::getNegInfTm ( ) const
inline

Definition at line 12 of file DateHandler.h.

References NEG_INF.

12 { return NEG_INF; }
oracle::occi::Date DateHandler::getPlusInfDate ( ) const
inline

Definition at line 15 of file DateHandler.h.

References PLUS_INF_DATE.

15 { return PLUS_INF_DATE; }
oracle::occi::Date PLUS_INF_DATE
Definition: DateHandler.h:49
Tm DateHandler::getPlusInfTm ( ) const
inline
oracle::occi::Date DateHandler::maxDate ( )
inline

The maximum oracle Date

Definition at line 30 of file DateHandler.h.

References indexGen::date, DateHandler(), dateToTm(), m_env, and tmToDate().

30 { return oracle::occi::Date(m_env, 9999, 12, 31, 23, 59, 59); }
oracle::occi::Environment * m_env
Definition: DateHandler.h:45
oracle::occi::Date DateHandler::minDate ( )
inline

The minimum oracle Date

Definition at line 25 of file DateHandler.h.

References m_env.

25 { return oracle::occi::Date(m_env, 1970, 1, 1, 0, 0, 0); }
oracle::occi::Environment * m_env
Definition: DateHandler.h:45
Date DateHandler::tmToDate ( const Tm inTm) const

Member Data Documentation

oracle::occi::Connection* DateHandler::m_conn
private

Definition at line 44 of file DateHandler.h.

oracle::occi::Environment* DateHandler::m_env
private

Definition at line 45 of file DateHandler.h.

Referenced by getCurrentDate(), maxDate(), and minDate().

Tm DateHandler::NEG_INF
private

Definition at line 48 of file DateHandler.h.

Referenced by getNegInfTm().

oracle::occi::Date DateHandler::NEG_INF_DATE
private

Definition at line 50 of file DateHandler.h.

Referenced by getNegInfDate().

Tm DateHandler::PLUS_INF
private

Definition at line 47 of file DateHandler.h.

Referenced by getPlusInfTm().

oracle::occi::Date DateHandler::PLUS_INF_DATE
private

Definition at line 49 of file DateHandler.h.

Referenced by getPlusInfDate().