61 #if ROOT_VERSION_CODE < ROOT_VERSION(5,34,20)
62 #define HasOption(x) GetValueFromOptions(x)!=0
68 std::cout <<
"\nTGo4AnalysisWebStatus Update From Url with " << rest_url_opt << std::endl;
72 message.Form(
"TGo4AnalysisWebStatus::UpdateFromUrl ");
75 url.SetOptions(rest_url_opt);
82 if (url.HasOption(theKey.Data()))
86 message.Append(TString::Format(
", CLOSING analysis"));
93 if (url.HasOption(theKey.Data()))
95 const char* filename = url.GetValueFromOptions(theKey.Data());
97 message.Append(TString::Format(
", saving autosave file %s", filename));
104 if (url.HasOption(theKey.Data()))
106 const char* filename = url.GetValueFromOptions(theKey.Data());
108 message.Append(TString::Format(
", saving configuration file %s", filename));
115 if (url.HasOption(theKey.Data()))
117 const char* filename = url.GetValueFromOptions(theKey.Data());
122 message.Append(TString::Format(
", loaded configuration file %s", filename));
126 message.Append(TString::Format(
", /!\\ FAILED to load configuration file %s !!!", filename));
140 if (url.HasOption(theKey.Data()))
144 Bool_t enablestep = ((TString(url.GetValueFromOptions(theKey.Data())) ==
"true") ? kTRUE : kFALSE);
145 message.Append(TString::Format(
", %s=%d", theKey.Data(), enablestep));
149 if (url.HasOption(theKey.Data()))
152 Bool_t enablesource = ((TString(url.GetValueFromOptions(theKey.Data())) ==
"true") ? kTRUE : kFALSE);
153 message.Append(TString::Format(
", %s=%d", theKey.Data(), enablesource));
157 if (url.HasOption(theKey.Data()))
160 Bool_t enablestore = ((TString(url.GetValueFromOptions(theKey.Data())) ==
"true") ? kTRUE : kFALSE);
161 message.Append(TString::Format(
", %s=%d", theKey.Data(), enablestore));
166 if (url.HasOption(theKey.Data()))
168 Int_t srctype = url.GetIntValueFromOptions(theKey.Data());
169 message.Append(TString::Format(
", %s=%d", theKey.Data(), srctype));
175 TString srcname = oldsrcpar->GetName();
176 Int_t port = oldmbspar ? oldmbspar->
GetPort() : 0;
178 port = olduserpar ? olduserpar->
GetPort() : 0;
236 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());
244 if (url.HasOption(theKey.Data())) {
245 TString tagname = url.GetValueFromOptions(theKey.Data());
246 message.Append(TString::Format(
", %s=%s", theKey.Data(), tagname.Data()));
252 message.Append(TString::Format(
" - /!\\ NEVER COME HERE: Could not set tag name to type %s ", srcpar->ClassName()));
256 if (url.HasOption(theKey.Data()))
258 Int_t port = url.GetIntValueFromOptions(theKey.Data());
259 message.Append(TString::Format(
", %s=%d", theKey.Data(), port));
268 message.Append(TString::Format(
" - /!\\ NEVER COME HERE: Could not set port to type %s ", srcpar->ClassName()));
272 if (url.HasOption(theKey.Data()))
274 Int_t timeout = url.GetIntValueFromOptions(theKey.Data());
275 message.Append(TString::Format(
", %s=%d", theKey.Data(), timeout));
281 if (url.HasOption(theKey.Data()))
283 Int_t retry = url.GetIntValueFromOptions(theKey.Data());
284 message.Append(TString::Format(
", %s=%d", theKey.Data(), retry));
291 TString::Format(
" - /!\\ NEVER COME HERE: Could not set retry count to type %s ",
292 srcpar->ClassName()));
296 if (url.HasOption(theKey.Data()))
298 Int_t startevent = url.GetIntValueFromOptions(theKey.Data());
299 message.Append(TString::Format(
", %s=%d", theKey.Data(), startevent));
306 TString::Format(
" - /!\\ NEVER COME HERE: Could not set start event to type %s ",
307 srcpar->ClassName()));
311 if (url.HasOption(theKey.Data()))
313 Int_t stopevent = url.GetIntValueFromOptions(theKey.Data());
314 message.Append(TString::Format(
", %s=%d", theKey.Data(), stopevent));
321 TString::Format(
" - /!\\ NEVER COME HERE: Could not set stop event to type %s ",
322 srcpar->ClassName()));
326 if (url.HasOption(theKey.Data()))
328 Int_t skipevents = url.GetIntValueFromOptions(theKey.Data());
329 message.Append(TString::Format(
", %s=%d", theKey.Data(), skipevents));
336 TString::Format(
" - /!\\ NEVER COME HERE: Could not set event interval to type %s ",
337 srcpar->ClassName()));
341 if (url.HasOption(theKey.Data()))
343 Int_t storetype = url.GetIntValueFromOptions(theKey.Data());
344 message.Append(TString::Format(
", %s=%d", theKey.Data(), storetype));
348 TString storename = oldstorepar->GetName();
356 Int_t oldsplit = -1, oldbuf = -1, oldcomp = -1, oldauto = -1, oldover = -1;
373 TString::Format(
" - /!\\ NEVER COME HERE: old event store parameter is type %s ",
374 oldstorepar ? oldstorepar->ClassName() :
"nullpointer"));
414 if (url.HasOption(theKey.Data()))
416 TString storename = url.GetValueFromOptions(theKey.Data());
417 message.Append(TString::Format(
", %s=%s", theKey.Data(), storename.Data()));
419 storepar->SetName(storename.Data());
423 if (url.HasOption(theKey.Data()))
425 Int_t split = url.GetIntValueFromOptions(theKey.Data());
426 message.Append(TString::Format(
", %s=%d", theKey.Data(), split));
436 TString::Format(
" - /!\\ NEVER COME HERE: can not set split level to eventstore type %s ",
437 storepar ? storepar->ClassName() :
"nullpointer"));
442 if (url.HasOption(theKey.Data()))
444 Int_t bufsize = url.GetIntValueFromOptions(theKey.Data());
445 message.Append(TString::Format(
", %s=%d", theKey.Data(), bufsize));
455 TString::Format(
" - /!\\ NEVER COME HERE: can not set bufsize to eventstore type %s ",
456 storepar ? storepar->ClassName() :
"nullpointer"));
460 if (url.HasOption(theKey.Data()))
462 Int_t bufsize = url.GetIntValueFromOptions(theKey.Data());
463 message.Append(TString::Format(
", %s=%d", theKey.Data(), bufsize));
470 TString::Format(
" - /!\\ NEVER COME HERE: can not set compression to eventstore type %s ",
471 storepar ? storepar->ClassName() :
"nullpointer"));
475 if (url.HasOption(theKey.Data()))
477 Int_t treeautosave = url.GetIntValueFromOptions(theKey.Data());
478 message.Append(TString::Format(
", %s=%d", theKey.Data(), treeautosave));
485 TString::Format(
" - /!\\ NEVER COME HERE: can not set tree autosave interval to eventstore type %s ",
486 storepar ? storepar->ClassName() :
"nullpointer"));
490 if (url.HasOption(theKey.Data()))
492 Int_t overwrite = url.GetIntValueFromOptions(theKey.Data());
493 message.Append(TString::Format(
", %s=%d", theKey.Data(), overwrite));
500 TString::Format(
" - /!\\ NEVER COME HERE: can not set overwrite mode to eventstore type %s ",
501 storepar ? storepar->ClassName() :
"nullpointer"));
512 if (url.HasOption(theKey.Data()))
514 Int_t asfenabled = url.GetIntValueFromOptions(theKey.Data());
515 message.Append(TString::Format(
", %s=%d", theKey.Data(), asfenabled));
520 if (url.HasOption(theKey.Data()))
522 TString asfname = url.GetValueFromOptions(theKey.Data());
523 message.Append(TString::Format(
", %s=%s", theKey.Data(), asfname.Data()));
528 if (url.HasOption(theKey.Data()))
530 Int_t asftime = url.GetIntValueFromOptions(theKey.Data());
531 message.Append(TString::Format(
", %s=%d", theKey.Data(), asftime));
536 if (url.HasOption(theKey.Data()))
538 Int_t asfcomp = url.GetIntValueFromOptions(theKey.Data());
539 message.Append(TString::Format(
", %s=%d", theKey.Data(), asfcomp));
544 if (url.HasOption(theKey.Data()))
546 Int_t asfover = url.GetIntValueFromOptions(theKey.Data());
547 message.Append(TString::Format(
", %s=%d", theKey.Data(), asfover));
552 if (url.HasOption(theKey.Data()))
554 TString prefsname = url.GetValueFromOptions(theKey.Data());
555 message.Append(TString::Format(
", %s=%s", theKey.Data(), prefsname.Data()));
560 std::cout <<
"\nTGo4AnalysisWebStatus Update From Url :StopAnalysis..."<< std::endl;
562 std::cout <<
"\nTGo4AnalysisWebStatus Update From Url :SetStatus..."<< std::endl;
568 std::cout <<
"\nTGo4AnalysisWebStatus Update From Url :InitEventClasses..."<< std::endl;
574 std::cout <<
"\nTGo4AnalysisWebStatus Update From Url :StartAnalysis..."<< std::endl;
576 std::cout <<
"\nTGo4AnalysisWebStatus Update From Url :After StartAnalysis"<< std::endl;
577 message.Append(
"\n Analysis was started!");
596 if ((an==0) || (status==0))
return kFALSE;
648 if (ana==0)
return kFALSE;
658 if ((exeline==0) || (*exeline==0))
return kFALSE;
660 if(ana==0)
return kFALSE;
665 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
static TString fgxURL_SOURCE_TAG
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
void SetTagName(const char *name)
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)