69 inline static std::string_view logger_name =
70 "ores.qt.tenant_provisioning_wizard";
72 [[nodiscard]]
static auto& lg() {
74 static auto instance = make_logger(logger_name);
83 Page_DataSourceSelection,
85 Page_CounterpartySetup,
86 Page_OrganisationSetup,
97 std::string description;
98 std::string schedule_expression;
99 std::string report_type;
100 std::string concurrency_policy;
103 enum class DataSourceMode {
110 QWidget* parent =
nullptr);
114 ClientManager* clientManager()
const {
return clientManager_; }
116 QString selectedBundleCode()
const {
return selectedBundleCode_; }
117 void setSelectedBundleCode(
const QString& code) { selectedBundleCode_ = code; }
119 QString selectedBundleName()
const {
return selectedBundleName_; }
120 void setSelectedBundleName(
const QString& name) { selectedBundleName_ = name; }
122 QString rootLei()
const {
return rootLei_; }
123 void setRootLei(
const QString& lei) { rootLei_ = lei; }
125 QString rootLeiName()
const {
return rootLeiName_; }
126 void setRootLeiName(
const QString& name) { rootLeiName_ = name; }
128 QString leiDatasetSize()
const {
return leiDatasetSize_; }
129 void setLeiDatasetSize(
const QString& size) { leiDatasetSize_ = size; }
131 bool organisationPublished()
const {
return organisationPublished_; }
132 void setOrganisationPublished(
bool v) { organisationPublished_ = v; }
134 DataSourceMode dataSourceMode()
const {
return dataSourceMode_; }
135 void setDataSourceMode(DataSourceMode m) { dataSourceMode_ = m; }
139 QString syntheticCountry()
const {
return syntheticCountry_; }
140 void setSyntheticCountry(
const QString& c) { syntheticCountry_ = c; }
142 int syntheticPartyCount()
const {
return syntheticPartyCount_; }
143 void setSyntheticPartyCount(
int c) { syntheticPartyCount_ = c; }
145 int syntheticPartyMaxDepth()
const {
return syntheticPartyMaxDepth_; }
146 void setSyntheticPartyMaxDepth(
int d) { syntheticPartyMaxDepth_ = d; }
148 int syntheticCounterpartyCount()
const {
return syntheticCounterpartyCount_; }
149 void setSyntheticCounterpartyCount(
int c) { syntheticCounterpartyCount_ = c; }
151 int syntheticCounterpartyMaxDepth()
const {
return syntheticCounterpartyMaxDepth_; }
152 void setSyntheticCounterpartyMaxDepth(
int d) { syntheticCounterpartyMaxDepth_ = d; }
154 int syntheticPortfolioLeafCount()
const {
return syntheticPortfolioLeafCount_; }
155 void setSyntheticPortfolioLeafCount(
int c) { syntheticPortfolioLeafCount_ = c; }
157 int syntheticPortfolioMaxDepth()
const {
return syntheticPortfolioMaxDepth_; }
158 void setSyntheticPortfolioMaxDepth(
int d) { syntheticPortfolioMaxDepth_ = d; }
160 int syntheticBooksPerPortfolio()
const {
return syntheticBooksPerPortfolio_; }
161 void setSyntheticBooksPerPortfolio(
int c) { syntheticBooksPerPortfolio_ = c; }
163 int syntheticBusinessUnitCount()
const {
return syntheticBusinessUnitCount_; }
164 void setSyntheticBusinessUnitCount(
int c) { syntheticBusinessUnitCount_ = c; }
166 int syntheticBusinessUnitMaxDepth()
const {
return syntheticBusinessUnitMaxDepth_; }
167 void setSyntheticBusinessUnitMaxDepth(
int d) { syntheticBusinessUnitMaxDepth_ = d; }
169 bool syntheticGenerateAddresses()
const {
return syntheticGenerateAddresses_; }
170 void setSyntheticGenerateAddresses(
bool v) { syntheticGenerateAddresses_ = v; }
172 int syntheticContactsPerParty()
const {
return syntheticContactsPerParty_; }
173 void setSyntheticContactsPerParty(
int c) { syntheticContactsPerParty_ = c; }
175 int syntheticContactsPerCounterparty()
const {
return syntheticContactsPerCounterparty_; }
176 void setSyntheticContactsPerCounterparty(
int c) { syntheticContactsPerCounterparty_ = c; }
178 bool syntheticGenerateIdentifiers()
const {
return syntheticGenerateIdentifiers_; }
179 void setSyntheticGenerateIdentifiers(
bool v) { syntheticGenerateIdentifiers_ = v; }
181 std::optional<std::uint64_t> syntheticSeed()
const {
return syntheticSeed_; }
182 void setSyntheticSeed(std::optional<std::uint64_t> s) { syntheticSeed_ = s; }
184 std::vector<ReportSpec> selectedReports()
const {
return selectedReports_; }
185 void setSelectedReports(std::vector<ReportSpec> r) { selectedReports_ = std::move(r); }
193 void provisioningCompleted();
198 ClientManager* clientManager_;
199 QString selectedBundleCode_;
200 QString selectedBundleName_;
202 QString rootLeiName_;
203 QString leiDatasetSize_ =
"large";
204 bool organisationPublished_ =
false;
205 DataSourceMode dataSourceMode_ = DataSourceMode::gleif;
208 QString syntheticCountry_ =
"GB";
209 int syntheticPartyCount_ = 5;
210 int syntheticPartyMaxDepth_ = 3;
211 int syntheticCounterpartyCount_ = 10;
212 int syntheticCounterpartyMaxDepth_ = 3;
213 int syntheticPortfolioLeafCount_ = 8;
214 int syntheticPortfolioMaxDepth_ = 4;
215 int syntheticBooksPerPortfolio_ = 2;
216 int syntheticBusinessUnitCount_ = 10;
217 int syntheticBusinessUnitMaxDepth_ = 2;
218 bool syntheticGenerateAddresses_ =
true;
219 int syntheticContactsPerParty_ = 2;
220 int syntheticContactsPerCounterparty_ = 1;
221 bool syntheticGenerateIdentifiers_ =
true;
222 std::optional<std::uint64_t> syntheticSeed_;
224 std::vector<ReportSpec> selectedReports_;
321 bool validatePage()
override;
322 int nextId()
const override;
326 void onModeChanged();
329 QRadioButton* gleifRadio_;
330 QRadioButton* syntheticRadio_;
331 QWidget* syntheticOptions_;
334 QComboBox* countryCombo_;
335 QSpinBox* partyCountSpin_;
336 QSpinBox* counterpartyCountSpin_;
337 QSpinBox* portfolioLeafCountSpin_;
338 QSpinBox* booksPerPortfolioSpin_;
339 QSpinBox* businessUnitCountSpin_;
342 QSpinBox* partyMaxDepthSpin_;
343 QSpinBox* counterpartyMaxDepthSpin_;
344 QSpinBox* portfolioMaxDepthSpin_;
345 QSpinBox* businessUnitMaxDepthSpin_;
348 QSpinBox* contactsPerPartySpin_;
349 QSpinBox* contactsPerCounterpartySpin_;
350 QCheckBox* generateAddressesCheck_;
351 QCheckBox* generateIdentifiersCheck_;
354 QLineEdit* seedEdit_;