blob: 6e6bb25ce9a64baa94c8cf27bc111088b0f3c312 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
#include "schoot_gen_cfg.h"
#include <ydb/library/schlab/protos/schlab.pb.h>
#include <library/cpp/protobuf/json/json2proto.h>
#include <util/stream/str.h>
#include <google/protobuf/text_format.h>
namespace NKikimr {
namespace NSchLab {
TSchOotGenCfgSet::TSchOotGenCfgSet(const TString &json) {
IsValid = true;
NSchlab::TGenCfgSet message;
try {
message = NProtobufJson::Json2Proto<NSchlab::TGenCfgSet>(json);
} catch (yexception e) {
IsValid = false;
TStringStream str;
str << "Error reading json schoot gen config, Marker# SGC01. ";
str << e.what();
ErrorDetails = str.Str();
return;
}
ui64 size = message.cfgSize();
for (ui64 idx = 0; idx < size; ++idx) {
const auto &s = message.Getcfg(idx);
Cfg.emplace_back();
auto &d = Cfg.back();
d.Label = (s.Getlabel() == nullptr ? "" : s.Getlabel());
d.StartTime = s.GetstartTime();
d.Period = s.Getperiod();
d.PeriodCount = s.GetperiodCount();
d.ReqSizeBytes = s.GetreqSizeBytes();
d.ReqCount = s.GetreqCount();
d.ReqInterval = s.GetreqInterval();
d.User = (s.Getuser() == nullptr ? "" : s.Getuser());
d.Desc = (s.Getdesc() == nullptr ? "" : s.Getdesc());
if (d.Period <= 0.0) {
IsValid = false;
TStringStream str;
str << "Error in json schoot gen config, Marker# SGC02.";
str << " period# " << d.Period << " is <= 0.0 at label# \"" << d.Label << "\".";
ErrorDetails = str.Str();
return;
}
if (d.ReqInterval < 0.0) {
IsValid = false;
TStringStream str;
str << "Error in json schoot gen config, Marker# SGC03.";
str << " reqInterval# " << d.ReqInterval << " is < 0.0 at label# \"" << d.Label << "\".";
ErrorDetails = str.Str();
return;
}
}
}
}; // NSchLab
}; // NKikimr
|