60 #if ROOT_VERSION_CODE < ROOT_VERSION(5,34,20)
61 #define HasOption(x) GetValueFromOptions(x)!=0
67 std::cout <<
"\nTGo4AnalysisWebStatus Update From Url with " << rest_url_opt << std::endl;
71 message.Form(
"TGo4AnalysisWebStatus::UpdateFromUrl ");
74 url.SetOptions(rest_url_opt);
81 if (url.HasOption(theKey.Data()))
85 message.Append(TString::Format(
", CLOSING analysis"));
92 if (url.HasOption(theKey.Data()))
94 const char* filename = url.GetValueFromOptions(theKey.Data());
96 message.Append(TString::Format(
", saving autosave file %s", filename));
103 if (url.HasOption(theKey.Data()))
105 const char* filename = url.GetValueFromOptions(theKey.Data());
107 message.Append(TString::Format(
", saving configuration file %s", filename));
114 if (url.HasOption(theKey.Data()))
116 const char* filename = url.GetValueFromOptions(theKey.Data());
121 message.Append(TString::Format(
", loaded configuration file %s", filename));
125 message.Append(TString::Format(
", /!\\ FAILED to load configuration file %s !!!", filename));
139 if (url.HasOption(theKey.Data()))
143 Bool_t enablestep = ((TString(url.GetValueFromOptions(theKey.Data())) ==
"true") ? kTRUE : kFALSE);
144 message.Append(TString::Format(
", %s=%d", theKey.Data(), enablestep));
148 if (url.HasOption(theKey.Data()))
151 Bool_t enablesource = ((TString(url.GetValueFromOptions(theKey.Data())) ==
"true") ? kTRUE : kFALSE);
152 message.Append(TString::Format(
", %s=%d", theKey.Data(), enablesource));
156 if (url.HasOption(theKey.Data()))
159 Bool_t enablestore = ((TString(url.GetValueFromOptions(theKey.Data())) ==
"true") ? kTRUE : kFALSE);
160 message.Append(TString::Format(
", %s=%d", theKey.Data(), enablestore));
165 if (url.HasOption(theKey.Data()))
167 Int_t srctype = url.GetIntValueFromOptions(theKey.Data());
168 message.Append(TString::Format(
", %s=%d", theKey.Data(), srctype));
174 TString srcname = oldsrcpar->GetName();
175 Int_t port = oldmbspar ? oldmbspar->
GetPort() : 0;
177 port = olduserpar ? olduserpar->
GetPort() : 0;
235 if (url.HasOption(theKey.Data()))
237 TString srcname = url.GetValueFromOptions(theKey.Data());
238 message.Append(TString::Format(
", %s=%s", theKey.Data(), srcname.Data()));
240 srcpar->SetName(srcname.Data());
245 if (url.HasOption(theKey.Data()))
247 Int_t port = url.GetIntValueFromOptions(theKey.Data());
248 message.Append(TString::Format(
", %s=%d", theKey.Data(), port));
258 TString::Format(
" - /!\\ NEVER COME HERE: Could not set port to type %s ", srcpar->ClassName()));
262 if (url.HasOption(theKey.Data()))
264 Int_t timeout = url.GetIntValueFromOptions(theKey.Data());
265 message.Append(TString::Format(
", %s=%d", theKey.Data(), timeout));
271 if (url.HasOption(theKey.Data()))
273 Int_t retry = url.GetIntValueFromOptions(theKey.Data());
274 message.Append(TString::Format(
", %s=%d", theKey.Data(), retry));
281 TString::Format(
" - /!\\ NEVER COME HERE: Could not set retry count to type %s ",
282 srcpar->ClassName()));
286 if (url.HasOption(theKey.Data()))
288 Int_t startevent = url.GetIntValueFromOptions(theKey.Data());
289 message.Append(TString::Format(
", %s=%d", theKey.Data(), startevent));
296 TString::Format(
" - /!\\ NEVER COME HERE: Could not set start event to type %s ",
297 srcpar->ClassName()));
301 if (url.HasOption(theKey.Data()))
303 Int_t stopevent = url.GetIntValueFromOptions(theKey.Data());
304 message.Append(TString::Format(
", %s=%d", theKey.Data(), stopevent));
311 TString::Format(
" - /!\\ NEVER COME HERE: Could not set stop event to type %s ",
312 srcpar->ClassName()));
316 if (url.HasOption(theKey.Data()))
318 Int_t skipevents = url.GetIntValueFromOptions(theKey.Data());
319 message.Append(TString::Format(
", %s=%d", theKey.Data(), skipevents));
326 TString::Format(
" - /!\\ NEVER COME HERE: Could not set event interval to type %s ",
327 srcpar->ClassName()));
331 if (url.HasOption(theKey.Data()))
333 Int_t storetype = url.GetIntValueFromOptions(theKey.Data());
334 message.Append(TString::Format(
", %s=%d", theKey.Data(), storetype));
338 TString storename = oldstorepar->GetName();
346 Int_t oldsplit = -1, oldbuf = -1, oldcomp = -1, oldauto = -1, oldover = -1;
363 TString::Format(
" - /!\\ NEVER COME HERE: old event store parameter is type %s ",
364 oldstorepar ? oldstorepar->ClassName() :
"nullpointer"));
404 if (url.HasOption(theKey.Data()))
406 TString storename = url.GetValueFromOptions(theKey.Data());
407 message.Append(TString::Format(
", %s=%s", theKey.Data(), storename.Data()));
409 storepar->SetName(storename.Data());
413 if (url.HasOption(theKey.Data()))
415 Int_t split = url.GetIntValueFromOptions(theKey.Data());
416 message.Append(TString::Format(
", %s=%d", theKey.Data(), split));
426 TString::Format(
" - /!\\ NEVER COME HERE: can not set split level to eventstore type %s ",
427 storepar ? storepar->ClassName() :
"nullpointer"));
432 if (url.HasOption(theKey.Data()))
434 Int_t bufsize = url.GetIntValueFromOptions(theKey.Data());
435 message.Append(TString::Format(
", %s=%d", theKey.Data(), bufsize));
445 TString::Format(
" - /!\\ NEVER COME HERE: can not set bufsize to eventstore type %s ",
446 storepar ? storepar->ClassName() :
"nullpointer"));
450 if (url.HasOption(theKey.Data()))
452 Int_t bufsize = url.GetIntValueFromOptions(theKey.Data());
453 message.Append(TString::Format(
", %s=%d", theKey.Data(), bufsize));
460 TString::Format(
" - /!\\ NEVER COME HERE: can not set compression to eventstore type %s ",
461 storepar ? storepar->ClassName() :
"nullpointer"));
465 if (url.HasOption(theKey.Data()))
467 Int_t treeautosave = url.GetIntValueFromOptions(theKey.Data());
468 message.Append(TString::Format(
", %s=%d", theKey.Data(), treeautosave));
475 TString::Format(
" - /!\\ NEVER COME HERE: can not set tree autosave interval to eventstore type %s ",
476 storepar ? storepar->ClassName() :
"nullpointer"));
480 if (url.HasOption(theKey.Data()))
482 Int_t overwrite = url.GetIntValueFromOptions(theKey.Data());
483 message.Append(TString::Format(
", %s=%d", theKey.Data(), overwrite));
490 TString::Format(
" - /!\\ NEVER COME HERE: can not set overwrite mode to eventstore type %s ",
491 storepar ? storepar->ClassName() :
"nullpointer"));
502 if (url.HasOption(theKey.Data()))
504 Int_t asfenabled = url.GetIntValueFromOptions(theKey.Data());
505 message.Append(TString::Format(
", %s=%d", theKey.Data(), asfenabled));
510 if (url.HasOption(theKey.Data()))
512 TString asfname = url.GetValueFromOptions(theKey.Data());
513 message.Append(TString::Format(
", %s=%s", theKey.Data(), asfname.Data()));
518 if (url.HasOption(theKey.Data()))
520 Int_t asftime = url.GetIntValueFromOptions(theKey.Data());
521 message.Append(TString::Format(
", %s=%d", theKey.Data(), asftime));
526 if (url.HasOption(theKey.Data()))
528 Int_t asfcomp = url.GetIntValueFromOptions(theKey.Data());
529 message.Append(TString::Format(
", %s=%d", theKey.Data(), asfcomp));
534 if (url.HasOption(theKey.Data()))
536 Int_t asfover = url.GetIntValueFromOptions(theKey.Data());
537 message.Append(TString::Format(
", %s=%d", theKey.Data(), asfover));
542 if (url.HasOption(theKey.Data()))
544 TString prefsname = url.GetValueFromOptions(theKey.Data());
545 message.Append(TString::Format(
", %s=%s", theKey.Data(), prefsname.Data()));
550 std::cout <<
"\nTGo4AnalysisWebStatus Update From Url :StopAnalysis..."<< std::endl;
552 std::cout <<
"\nTGo4AnalysisWebStatus Update From Url :SetStatus..."<< std::endl;
558 std::cout <<
"\nTGo4AnalysisWebStatus Update From Url :InitEventClasses..."<< std::endl;
564 std::cout <<
"\nTGo4AnalysisWebStatus Update From Url :StartAnalysis..."<< std::endl;
566 std::cout <<
"\nTGo4AnalysisWebStatus Update From Url :After StartAnalysis"<< std::endl;
567 message.Append(
"\n Analysis was started!");
586 if ((an==0) || (status==0))
return kFALSE;
638 if (ana==0)
return kFALSE;
648 if ((exeline==0) || (*exeline==0))
return kFALSE;
650 if(ana==0)
return kFALSE;
655 return errcode!=0 ? kFALSE : kTRUE;
void SetAutoFileName(const char *name)
void SetCompression(Int_t comp)
void SetStartEvent(UInt_t firstindex)
void SetProcessEnabled(Bool_t on=kTRUE)
static TString fgxURL_PREFS_SAVE
static TString fgxURL_SOURCE_TYPE
void SetStoreEnabled(Bool_t on=kTRUE)
void SetRetryCnt(Int_t cnt)
TGo4EventStoreParameter * GetStorePar() const
void SetSplitlevel(Int_t split)
static TString fgxURL_SOURCE_PORT
UInt_t GetStartEvent() const
Bool_t LoadStatus(const char *filename=0)
void SetSplitlevel(Int_t split)
virtual Int_t PrintStatus(Text_t *buffer=0, Int_t buflen=0)
Bool_t ExecuteLine(const char *cmd)
void SetStopEvent(UInt_t lastindex)
void UpdateStatus(TGo4AnalysisStatus *state)
virtual void CloseAnalysis()
static TString fgxURL_ENABLESTORE
static TString fgxURL_STORE_SPLIT
void SetAutoSaveOn(Bool_t on=kTRUE)
static TString fgxURL_SOURCE_NAME
static TString fgxURL_STORE_COMP
static TString fgxURL_ENABLESTEP
static TString fgxURL_STORE_OVERWRITE
TGo4AnalysisStepStatus * NextStepStatus()
static TString fgxURL_PREFS_LOAD
Int_t IsOverwriteMode() const
void SetSourceEnabled(Bool_t on=kTRUE)
static TString fgxURL_ENABLESOURCE
static TString fgxURL_SOURCE_FIRST
static TString fgxURL_SOURCE_LAST
TGo4AnalysisClient * GetAnalysisClient() const
static TString fgxURL_PREFS_NAME
Bool_t IsStopWorking() const
static TString fgxURL_ASF_COMP
TGo4AnalysisStatus * CreateStatus()
Int_t GetAutosaveSize() const
void SetAutosaveSize(Int_t interval)
UInt_t GetStopEvent() const
Bool_t ApplyStatus(TGo4AnalysisStatus *status)
static TString fgxURL_SOURCE_TIMEOUT
void SetStorePar(TGo4EventStoreParameter *kind)
static TString fgxURL_ASF_SAVE
Bool_t SaveStatus(const char *fname)
void SetSourcePar(TGo4EventSourceParameter *kind)
Int_t fiAutoSaveCompression
TGo4EventSourceParameter * GetSourcePar() const
static TString fgxURL_STARTRUN
void SetOverwriteMode(Bool_t over=kTRUE)
static TString fgxURL_STORE_ASF
Int_t GetCompression() const
static TString fgxURL_SOURCE_SKIP
static TString fgxURL_CLOSE
Int_t GetSplitlevel() const
static TString fgxURL_SOURCE_RETRY
void SetTimeout(Int_t out)
void SetEventInterval(UInt_t skipinterval)
void SetBufsize(Int_t bufsize)
static const char * Message(Int_t prio, const char *text,...)
Bool_t UpdateFromUrl(const char *rest_url_opt)
static TString fgxURL_STORE_TYPE
Int_t GetSplitlevel() const
static TString fgxURL_ASF_INTERVAL
virtual Bool_t InitEventClasses()
static TString fgxURL_ASF_OVERWRITE
static TString fgxURL_STORE_BUF
static TString fgxURL_ASF_NAME
static TString fgxURL_STORE_NAME
void SetAutoSaveOverwrite(Bool_t over=kTRUE)
Int_t fbAutoSaveOverwrite
Long_t ExecuteLine(const char *command, Int_t *errcode=0)
void SetAutoSaveFile(const char *filename=0, Bool_t overwrite=kFALSE, Int_t compression=5)
Bool_t LoadStatus(const char *fname)
Bool_t SaveStatus(const char *filename=0)
void SetConfigFileName(const char *name)
void SetBufsize(Int_t bufsize)
void SetAutoSaveInterval(Int_t i)
static TString fgxURL_ASF_ENABLED
TGo4AnalysisStatus * CreateStatus()
UInt_t GetEventInterval() const
static TGo4Analysis * Instance()
void SetAutoSaveCompression(Int_t i=5)
Bool_t WriteAutoSave(const char *fname, Bool_t overwrite, Int_t complevel)
void SetStatus(TGo4AnalysisStatus *state)