]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MONITOR/alionlinemonitor.cxx
Fix Coverity reports
[u/mrichter/AliRoot.git] / MONITOR / alionlinemonitor.cxx
index def86579f9b643a259a0f019791783600d94f91e..1c7c5118e51d4067fff7c0c9137bf57c3e651851 100644 (file)
@@ -20,52 +20,90 @@ int main(int argc, char **argv)
   AliOnlineReco *win = new AliOnlineReco;
   win->MapWindow();
 
+  TString autoRun(gSystem->Getenv("ONLINERECO_AUTORUN"));
+  if (autoRun == "1" || autoRun.CompareTo("true", TString::kIgnoreCase) == 0)
+  {
+    win->SetAutoRunMode(kTRUE);
+  }
+
   if (test)
   {
     win->SetTestMode();
 
-    win->GetSOR()->infoHandlerTest(2214);
-    win->GetSOR()->infoHandlerTest(2215);
-    win->GetSOR()->infoHandlerTest(2224);
-    win->GetSOR()->infoHandlerTest(2244);
+    win->GetSOR(0)->infoHandlerTest(2214);
+    win->GetSOR(0)->infoHandlerTest(2215);
+    win->GetSOR(0)->infoHandlerTest(2224);
+    win->GetSOR(0)->infoHandlerTest(2244);
 
     printf("win = (AliOnlineReco*) 0x%lx\n", (unsigned long)win);
   }
-  else {
-
+  else
+  {
     TString baseDir = gSystem->Getenv("ONLINERECO_BASE_DIR");
-    if (baseDir.IsNull()) {
+    if (baseDir.IsNull())
+    {
       printf("ERROR: ONLINERECO_BASE_DIR is not set. Exiting...");
       return 0;
     }
 
-    const char *dbHost = "aldaqdb";
-    Int_t dbPort = 3306;
-    const char *dbName = "LOGBOOK";
-    const char *user = "logbook";
-    const char *password = "alice";
+    TString dbHost = gSystem->Getenv("ONLINERECO_DB_HOST");
+    if (dbHost.IsNull())
+    {
+      printf("ERROR: ONLINERECO_DB_HOST is not set. Exiting...");
+      return 0;
+    }
+
+    TString dbPort = gSystem->Getenv("ONLINERECO_DB_PORT");
+    if (dbPort.IsNull())
+    {
+      printf("ERROR: ONLINERECO_DB_PORT is not set. Exiting...");
+      return 0;
+    }
+
+    TString dbName = gSystem->Getenv("ONLINERECO_DB_NAME");
+    if (dbName.IsNull())
+    {
+      printf("ERROR: ONLINERECO_DB_NAME is not set. Exiting...");
+      return 0;
+    }
+
+    TString user = gSystem->Getenv("ONLINERECO_DB_USER");
+    if (user.IsNull())
+    {
+      printf("ERROR: ONLINERECO_DB_USER is not set. Exiting...");
+      return 0;
+    }
+
+    TString password = gSystem->Getenv("ONLINERECO_DB_PASSWORD");
+    if (password.IsNull())
+    {
+      printf("ERROR: ONLINERECO_DB_PASSWORD is not set. Exiting...");
+      return 0;
+    }
 
-    TSQLServer* server = TSQLServer::Connect(Form("mysql://%s:%d/%s", dbHost, dbPort, dbName), user, password);
+    TSQLServer* server = TSQLServer::Connect(Form("mysql://%s:%s/%s", dbHost.Data(), dbPort.Data(), dbName.Data()), user.Data(), password.Data());
     if (!server) {
       printf("ERROR: Could not connect to DAQ Logbook");
       return 0;
     }
     TString sqlQuery;
     TTimeStamp ts;
-    sqlQuery.Form("SELECT run FROM logbook WHERE DAQ_time_start > %u AND DAQ_time_end IS NULL AND partition = 'PHYSICS'",
-                 ts.GetSec()-86400);
-    //    sqlQuery.Form("SELECT run FROM logbook WHERE DAQ_time_start > %u AND DAQ_time_end IS NULL",
-    //           ts.GetSec()-86400);
+    sqlQuery.Form("SELECT run FROM logbook WHERE DAQ_time_start > %u AND DAQ_time_end IS NULL AND partition REGEXP 'PHYSICS.*'",
+                 (UInt_t)ts.GetSec()-86400);
     TSQLResult* result = server->Query(sqlQuery);
-    if (!result) {
+    if (!result)
+    {
       printf("ERROR: Can't execute query <%s>!", sqlQuery.Data());
       return 0;
     }
-    if (result->GetRowCount() == 0) {
+    if (result->GetRowCount() == 0)
+    {
       printf("No active physics runs found");
     }
-    else {
-      for (Int_t iRow = 0; iRow < result->GetRowCount(); iRow++) {
+    else
+    {
+      for (Int_t iRow = 0; iRow < result->GetRowCount(); iRow++)
+      {
        TSQLRow* row = result->Next();
        TString runStr = row->GetField(0);
        if (runStr.IsDigit())