61 std::cout <<
"\nTGo4AnalysisWebStatus Update From Url with " << rest_url_opt << std::endl;
65 message.Form(
"TGo4AnalysisWebStatus::UpdateFromUrl ");
68 url.SetOptions(rest_url_opt);
75 if (url.HasOption(theKey.Data()))
79 message.Append(TString::Format(
", CLOSING analysis"));
86 if (url.HasOption(theKey.Data()))
88 const char *filename = url.GetValueFromOptions(theKey.Data());
90 message.Append(TString::Format(
", saving autosave file %s", filename));
97 if (url.HasOption(theKey.Data())) {
98 const char *filename = url.GetValueFromOptions(theKey.Data());
100 message.Append(TString::Format(
", saving configuration file %s", filename));
107 if (url.HasOption(theKey.Data())) {
108 const char *filename = url.GetValueFromOptions(theKey.Data());
112 message.Append(TString::Format(
", loaded configuration file %s", filename));
114 message.Append(TString::Format(
", /!\\ FAILED to load configuration file %s !!!", filename));
126 if (url.HasOption(theKey.Data())) {
127 Bool_t enablestep = TString(url.GetValueFromOptions(theKey.Data())) ==
"true";
128 message.Append(TString::Format(
", %s=%d", theKey.Data(), enablestep));
129 step->SetProcessEnabled(enablestep);
132 if (url.HasOption(theKey.Data())) {
133 Bool_t enablesource = TString(url.GetValueFromOptions(theKey.Data())) ==
"true";
134 message.Append(TString::Format(
", %s=%d", theKey.Data(), enablesource));
135 step->SetSourceEnabled(enablesource);
138 if (url.HasOption(theKey.Data())) {
139 Bool_t enablestore = TString(url.GetValueFromOptions(theKey.Data())) ==
"true";
140 message.Append(TString::Format(
", %s=%d", theKey.Data(), enablestore));
141 step->SetStoreEnabled(enablestore);
145 if (url.HasOption(theKey.Data())) {
146 Int_t srctype = url.GetIntValueFromOptions(theKey.Data());
147 message.Append(TString::Format(
", %s=%d", theKey.Data(), srctype));
153 TString srcname = oldsrcpar->GetName();
154 Int_t port = oldmbspar ? oldmbspar->
GetPort() : 0;
156 port = olduserpar ? olduserpar->
GetPort() : 0;
209 step->SetSourcePar(newpar);
214 if (url.HasOption(theKey.Data())) {
215 TString srcname = url.GetValueFromOptions(theKey.Data());
216 message.Append(TString::Format(
", %s=%s", theKey.Data(), srcname.Data()));
218 srcpar->SetName(srcname.Data());
222 if (url.HasOption(theKey.Data())) {
223 TString tagname = url.GetValueFromOptions(theKey.Data());
224 message.Append(TString::Format(
", %s=%s", theKey.Data(), tagname.Data()));
230 message.Append(TString::Format(
" - /!\\ NEVER COME HERE: Could not set tag name to type %s ", srcpar->ClassName()));
234 if (url.HasOption(theKey.Data())) {
235 Int_t port = url.GetIntValueFromOptions(theKey.Data());
236 message.Append(TString::Format(
", %s=%d", theKey.Data(), port));
245 message.Append(TString::Format(
" - /!\\ NEVER COME HERE: Could not set port to type %s ", srcpar->ClassName()));
249 if (url.HasOption(theKey.Data())) {
250 Int_t timeout = url.GetIntValueFromOptions(theKey.Data());
251 message.Append(TString::Format(
", %s=%d", theKey.Data(), timeout));
257 if (url.HasOption(theKey.Data())) {
258 Int_t retry = url.GetIntValueFromOptions(theKey.Data());
259 message.Append(TString::Format(
", %s=%d", theKey.Data(), retry));
266 TString::Format(
" - /!\\ NEVER COME HERE: Could not set retry count to type %s ",
267 srcpar->ClassName()));
271 if (url.HasOption(theKey.Data())) {
272 Int_t startevent = url.GetIntValueFromOptions(theKey.Data());
273 message.Append(TString::Format(
", %s=%d", theKey.Data(), startevent));
280 TString::Format(
" - /!\\ NEVER COME HERE: Could not set start event to type %s ",
281 srcpar->ClassName()));
285 if (url.HasOption(theKey.Data()))
287 Int_t stopevent = url.GetIntValueFromOptions(theKey.Data());
288 message.Append(TString::Format(
", %s=%d", theKey.Data(), stopevent));
295 TString::Format(
" - /!\\ NEVER COME HERE: Could not set stop event to type %s ",
296 srcpar->ClassName()));
300 if (url.HasOption(theKey.Data()))
302 Int_t skipevents = url.GetIntValueFromOptions(theKey.Data());
303 message.Append(TString::Format(
", %s=%d", theKey.Data(), skipevents));
310 TString::Format(
" - /!\\ NEVER COME HERE: Could not set event interval to type %s ",
311 srcpar->ClassName()));
315 if (url.HasOption(theKey.Data()))
317 Int_t storetype = url.GetIntValueFromOptions(theKey.Data());
318 message.Append(TString::Format(
", %s=%d", theKey.Data(), storetype));
322 TString storename = oldstorepar->GetName();
330 Int_t oldsplit = -1, oldbuf = -1, oldcomp = -1, oldauto = -1, oldover = -1;
347 TString::Format(
" - /!\\ NEVER COME HERE: old event store parameter is type %s ",
348 oldstorepar ? oldstorepar->ClassName() :
"nullpointer"));
382 step->SetStorePar(newpar);
388 if (url.HasOption(theKey.Data()))
390 TString storename = url.GetValueFromOptions(theKey.Data());
391 message.Append(TString::Format(
", %s=%s", theKey.Data(), storename.Data()));
393 storepar->SetName(storename.Data());
397 if (url.HasOption(theKey.Data()))
399 Int_t split = url.GetIntValueFromOptions(theKey.Data());
400 message.Append(TString::Format(
", %s=%d", theKey.Data(), split));
410 TString::Format(
" - /!\\ NEVER COME HERE: can not set split level to eventstore type %s ",
411 storepar ? storepar->ClassName() :
"nullpointer"));
416 if (url.HasOption(theKey.Data()))
418 Int_t bufsize = url.GetIntValueFromOptions(theKey.Data());
419 message.Append(TString::Format(
", %s=%d", theKey.Data(), bufsize));
429 TString::Format(
" - /!\\ NEVER COME HERE: can not set bufsize to eventstore type %s ",
430 storepar ? storepar->ClassName() :
"nullpointer"));
434 if (url.HasOption(theKey.Data()))
436 Int_t bufsize = url.GetIntValueFromOptions(theKey.Data());
437 message.Append(TString::Format(
", %s=%d", theKey.Data(), bufsize));
444 TString::Format(
" - /!\\ NEVER COME HERE: can not set compression to eventstore type %s ",
445 storepar ? storepar->ClassName() :
"nullpointer"));
449 if (url.HasOption(theKey.Data()))
451 Int_t treeautosave = url.GetIntValueFromOptions(theKey.Data());
452 message.Append(TString::Format(
", %s=%d", theKey.Data(), treeautosave));
459 TString::Format(
" - /!\\ NEVER COME HERE: can not set tree autosave interval to eventstore type %s ",
460 storepar ? storepar->ClassName() :
"nullpointer"));
464 if (url.HasOption(theKey.Data()))
466 Int_t overwrite = url.GetIntValueFromOptions(theKey.Data());
467 message.Append(TString::Format(
", %s=%d", theKey.Data(), overwrite));
474 TString::Format(
" - /!\\ NEVER COME HERE: can not set overwrite mode to eventstore type %s ",
475 storepar ? storepar->ClassName() :
"nullpointer"));
486 if (url.HasOption(theKey.Data()))
488 Int_t asfenabled = url.GetIntValueFromOptions(theKey.Data());
489 message.Append(TString::Format(
", %s=%d", theKey.Data(), asfenabled));
494 if (url.HasOption(theKey.Data()))
496 TString asfname = url.GetValueFromOptions(theKey.Data());
497 message.Append(TString::Format(
", %s=%s", theKey.Data(), asfname.Data()));
502 if (url.HasOption(theKey.Data()))
504 Int_t asftime = url.GetIntValueFromOptions(theKey.Data());
505 message.Append(TString::Format(
", %s=%d", theKey.Data(), asftime));
510 if (url.HasOption(theKey.Data()))
512 Int_t asfcomp = url.GetIntValueFromOptions(theKey.Data());
513 message.Append(TString::Format(
", %s=%d", theKey.Data(), asfcomp));
518 if (url.HasOption(theKey.Data()))
520 Int_t asfover = url.GetIntValueFromOptions(theKey.Data());
521 message.Append(TString::Format(
", %s=%d", theKey.Data(), asfover));
526 if (url.HasOption(theKey.Data()))
528 TString prefsname = url.GetValueFromOptions(theKey.Data());
529 message.Append(TString::Format(
", %s=%s", theKey.Data(), prefsname.Data()));
534 std::cout <<
"\nTGo4AnalysisWebStatus Update From Url :StopAnalysis..."<< std::endl;
536 std::cout <<
"\nTGo4AnalysisWebStatus Update From Url :SetStatus..."<< std::endl;
542 std::cout <<
"\nTGo4AnalysisWebStatus Update From Url :InitEventClasses..."<< std::endl;
548 std::cout <<
"\nTGo4AnalysisWebStatus Update From Url :StartAnalysis..."<< std::endl;
550 std::cout <<
"\nTGo4AnalysisWebStatus Update From Url :After StartAnalysis"<< std::endl;
551 message.Append(
"\n Analysis was started!");
570 if (!an || !status)
return kFALSE;
622 if (!ana)
return kFALSE;
632 if (!exeline || (*exeline == 0))
return kFALSE;
634 if(!ana)
return kFALSE;
639 return errcode != 0 ? kFALSE : kTRUE;
void SetAutoFileName(const char *name)
void SetCompression(Int_t comp)
void SetStartEvent(UInt_t firstindex)
static TString fgxURL_PREFS_SAVE
static TString fgxURL_SOURCE_TYPE
void SetRetryCnt(Int_t cnt)
static TString fgxURL_SOURCE_TAG
void SetSplitlevel(Int_t split)
static TString fgxURL_SOURCE_PORT
void SetSplitlevel(Int_t split)
Bool_t ExecuteLine(const char *cmd)
void SetStopEvent(UInt_t lastindex)
Int_t GetAutosaveSize() const
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
void SetAutoSaveFile(const char *filename=nullptr, Bool_t overwrite=kFALSE, Int_t compression=5)
TGo4AnalysisStepStatus * NextStepStatus()
static TString fgxURL_PREFS_LOAD
static TString fgxURL_ENABLESOURCE
static TString fgxURL_SOURCE_FIRST
static TString fgxURL_SOURCE_LAST
UInt_t GetStopEvent() const
static TString fgxURL_PREFS_NAME
static TString fgxURL_ASF_COMP
TGo4AnalysisClient * GetAnalysisClient() const
UInt_t GetStartEvent() const
TGo4AnalysisStatus * CreateStatus()
void SetAutosaveSize(Int_t interval)
void SetTagName(const char *name)
Bool_t ApplyStatus(TGo4AnalysisStatus *status)
static TString fgxURL_SOURCE_TIMEOUT
static TString fgxURL_ASF_SAVE
Bool_t SaveStatus(const char *fname)
static const char * Message(Int_t prio, const char *text,...) GO4_PRINTF2_ARGS
Int_t fiAutoSaveCompression
static TString fgxURL_STARTRUN
void SetOverwriteMode(Bool_t over=kTRUE)
Bool_t IsStopWorking() const
static TString fgxURL_STORE_ASF
Int_t IsOverwriteMode() const
static TString fgxURL_SOURCE_SKIP
Long64_t ExecuteLine(const char *command, Int_t *errcode=nullptr)
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)
UInt_t GetEventInterval() const
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
Bool_t LoadStatus(const char *fname)
Bool_t MainIsRunning() const
void SetConfigFileName(const char *name)
Int_t GetCompression() const
void SetBufsize(Int_t bufsize)
void SetAutoSaveInterval(Int_t i)
static TString fgxURL_ASF_ENABLED
TGo4AnalysisStatus * CreateStatus()
Bool_t SaveStatus(const char *filename=nullptr)
Bool_t LoadStatus(const char *filename=nullptr)
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)