Exemplo n.º 1
0
int main( int argc, char** argv ){
  boost::program_options::options_description desc("options");
  boost::program_options::options_description visible("Usage: cmscond_list_iov [options] \n");
  visible.add_options()
    ("connect,c",boost::program_options::value<std::string>(),"connection string(required)")
    ("user,u",boost::program_options::value<std::string>(),"user name (default \"\")")
    ("pass,p",boost::program_options::value<std::string>(),"password (default \"\")")
    ("authPath,P",boost::program_options::value<std::string>(),"path to authentication.xml")
    ("debug,d","switch on debug mode")
    ("help,h", "help message")
    ;
  desc.add(visible);
  boost::program_options::variables_map vm;
  try{
    boost::program_options::store(boost::program_options::command_line_parser(argc, argv).options(desc).run(), vm);
    boost::program_options::notify(vm);
  }catch(const boost::program_options::error& er) {
    std::cerr << er.what()<<std::endl;
    return 1;
  }
  if (vm.count("help")) {
    std::cout << visible <<std::endl;;
    return 0;
  }
  std::string connect;
  std::string authPath("");
  std::string user("");
  std::string pass("");
  bool debug=false;
  if(!vm.count("connect")){
    std::cerr <<"[Error] no connect[c] option given \n";
    std::cerr<<" please do "<<argv[0]<<" --help \n";
    return 1;
  }else{
    connect=vm["connect"].as<std::string>();
  }
  if(vm.count("user")){
    user=vm["user"].as<std::string>();
  }
  if(vm.count("pass")){
    pass=vm["pass"].as<std::string>();
  }
  if( vm.count("authPath") ){
      authPath=vm["authPath"].as<std::string>();
  }
  if(vm.count("debug")){
    debug=true;
  }
  cond::DbConnection connection;
  if( !authPath.empty() ){
    connection.configuration().setAuthenticationPath( authPath );
  }else{
    std::string userenv(std::string("CORAL_AUTH_USER="******"CORAL_AUTH_PASSWORD=")+pass);
    ::putenv(const_cast<char*>(userenv.c_str()));
    ::putenv(const_cast<char*>(passenv.c_str()));
  }
  if(debug){
    connection.configuration().setMessageLevel( coral::Debug );
  }else{
    connection.configuration().setMessageLevel( coral::Error );
  }

  connection.configure();
  cond::DbSession session = connection.createSession();
  session.open( connect );
  
  try{
    cond::Logger mylogger(session);
    mylogger.getWriteLock();
    mylogger.createLogDBIfNonExist();
    mylogger.releaseWriteLock();
  }catch(std::exception& er){
      std::cout<<er.what()<<std::endl;
  }
  return 0;
}
Exemplo n.º 2
0
int main(){
  cond::TokenBuilder tk;
  tk.set("CondFormatsCalibration",
	 "Pedestals",
	 "Pedestals",
	 0);
  std::string const tok1 = tk.tokenAsString();
  tk.set("CondFormatsCalibration",
	 "Pedestals",
	 "Pedestals",
	 1);
  std::string const tok2 = tk.tokenAsString();
  std::string constr("sqlite_file:unittest_DBLogger.db");
  //std::string constr("oracle://devdb10/cms_xiezhen_dev");
  edmplugin::PluginManager::Config config;
  edmplugin::PluginManager::configure(edmplugin::standard::config());
  cond::DbConnection connection;
  connection.configuration().setMessageLevel( coral::Error );
  connection.configure();
  cond::DbSession session = connection.createSession();
  session.open( constr );
  cond::Logger mylogger( session );
  cond::UserLogInfo a;
  a.provenance="me";
  mylogger.createLogDBIfNonExist();
  mylogger.logOperationNow(a,constr,std::string("Pedestals"),tok1,"mytag1","runnumber",0,1);
  std::cout<<"1. waiting"<<std::endl;
  sleep(1);
  std::cout<<"1. stop waiting"<<std::endl;
  std::cout<<"1. waiting"<<std::endl;
  sleep(1);
  std::cout<<"1. stop waiting"<<std::endl;
  mylogger.logFailedOperationNow(a,constr,std::string("Pedestals"),tok1,"mytag1","runnumber",1,1,"EOOROR");
  std::cout<<"1. waiting"<<std::endl;
  sleep(1);
  std::cout<<"1. stop waiting"<<std::endl;
  
  std::cout<<"1. waiting"<<std::endl;
  sleep(1);
  std::cout<<"1. stop waiting"<<std::endl;
  mylogger.logOperationNow(a,constr,std::string("Pedestals"),tok2,"mytag","runnumber",1,2);
  std::cout<<"1. waiting"<<std::endl;
  sleep(1);
  std::cout<<"1. stop waiting"<<std::endl;
  /*std::cout<<"about to lookup last entry"<<std::endl;
  cond::LogDBEntry result;
  mylogger.LookupLastEntryByProvenance("me",result);
  std::cout<<"result \n";
  std::cout<<"logId "<<result.logId<<"\n";
  std::cout<<"destinationDB "<<result.destinationDB<<"\n";
  std::cout<<"provenance "<<result.provenance<<"\n";
  std::cout<<"usertext "<<result.usertext<<"\n";
  std::cout<<"iovtag "<<result.iovtag<<"\n";
  std::cout<<"iovtimetype "<<result.iovtimetype<<"\n";
  std::cout<<"payloadIdx "<<result.payloadIdx<<"\n";
  std::cout<<"payloadName "<<result.payloadName<<"\n";
  std::cout<<"payloadToken "<<result.payloadToken<<"\n";
  std::cout<<"payloadContainer "<<result.payloadContainer<<"\n";
  std::cout<<"exectime "<<result.exectime<<"\n";
  std::cout<<"execmessage "<<result.execmessage<<std::endl;
  cond::LogDBEntry result2;
  mylogger.LookupLastEntryByTag("mytag1",result2);
  std::cout<<"result2 \n";
  std::cout<<"logId "<<result2.logId<<"\n";
  std::cout<<"destinationDB "<<result2.destinationDB<<"\n";
  std::cout<<"provenance "<<result2.provenance<<"\n";
  std::cout<<"usertext "<<result2.usertext<<"\n";
  std::cout<<"iovtag "<<result2.iovtag<<"\n";
  std::cout<<"iovtimetype "<<result2.iovtimetype<<"\n";
  std::cout<<"payloadIdx "<<result2.payloadIdx<<"\n";
  std::cout<<"payloadName "<<result2.payloadName<<"\n";
  std::cout<<"payloadToken "<<result2.payloadToken<<"\n";
  std::cout<<"payloadContainer "<<result2.payloadContainer<<"\n";
  std::cout<<"exectime "<<result2.exectime<<"\n";
  std::cout<<"execmessage "<<result2.execmessage<<std::endl;
  */
  //coralTransaction.commit();
}