68 inline static std::string_view logger_name =
69 "ores.qt.tenant_provisioning_wizard";
71 [[nodiscard]]
static auto& lg() {
73 static auto instance = make_logger(logger_name);
82 Page_DataSourceSelection,
84 Page_PartyOrganisation,
88 enum class DataSourceMode { gleif, synthetic };
92 QWidget* parent =
nullptr);
96 ClientManager* clientManager()
const {
return clientManager_; }
98 QString selectedBundleCode()
const {
return selectedBundleCode_; }
99 void setSelectedBundleCode(
const QString& code) { selectedBundleCode_ = code; }
101 QString selectedBundleName()
const {
return selectedBundleName_; }
102 void setSelectedBundleName(
const QString& name) { selectedBundleName_ = name; }
105 DataSourceMode dataSourceMode()
const {
return dataSourceMode_; }
106 void setDataSourceMode(DataSourceMode m) { dataSourceMode_ = m; }
108 QString rootLei()
const {
return rootLei_; }
109 void setRootLei(
const QString& lei) { rootLei_ = lei; }
111 QString rootLeiName()
const {
return rootLeiName_; }
112 void setRootLeiName(
const QString& name) { rootLeiName_ = name; }
114 QString leiDatasetSize()
const {
return leiDatasetSize_; }
115 void setLeiDatasetSize(
const QString& size) { leiDatasetSize_ = size; }
117 QString syntheticCountry()
const {
return syntheticCountry_; }
118 void setSyntheticCountry(
const QString& c) { syntheticCountry_ = c; }
120 int syntheticPartyCount()
const {
return syntheticPartyCount_; }
121 void setSyntheticPartyCount(
int v) { syntheticPartyCount_ = v; }
123 int syntheticPartyMaxDepth()
const {
return syntheticPartyMaxDepth_; }
124 void setSyntheticPartyMaxDepth(
int v) { syntheticPartyMaxDepth_ = v; }
126 int syntheticCounterpartyCount()
const {
return syntheticCounterpartyCount_; }
127 void setSyntheticCounterpartyCount(
int v) { syntheticCounterpartyCount_ = v; }
129 int syntheticCounterpartyMaxDepth()
const {
return syntheticCounterpartyMaxDepth_; }
130 void setSyntheticCounterpartyMaxDepth(
int v) { syntheticCounterpartyMaxDepth_ = v; }
132 int syntheticPortfolioLeafCount()
const {
return syntheticPortfolioLeafCount_; }
133 void setSyntheticPortfolioLeafCount(
int v) { syntheticPortfolioLeafCount_ = v; }
135 int syntheticPortfolioMaxDepth()
const {
return syntheticPortfolioMaxDepth_; }
136 void setSyntheticPortfolioMaxDepth(
int v) { syntheticPortfolioMaxDepth_ = v; }
138 int syntheticBooksPerPortfolio()
const {
return syntheticBooksPerPortfolio_; }
139 void setSyntheticBooksPerPortfolio(
int v) { syntheticBooksPerPortfolio_ = v; }
141 int syntheticBusinessUnitCount()
const {
return syntheticBusinessUnitCount_; }
142 void setSyntheticBusinessUnitCount(
int v) { syntheticBusinessUnitCount_ = v; }
144 int syntheticBusinessUnitMaxDepth()
const {
return syntheticBusinessUnitMaxDepth_; }
145 void setSyntheticBusinessUnitMaxDepth(
int v) { syntheticBusinessUnitMaxDepth_ = v; }
147 bool syntheticGenerateAddresses()
const {
return syntheticGenerateAddresses_; }
148 void setSyntheticGenerateAddresses(
bool v) { syntheticGenerateAddresses_ = v; }
150 int syntheticContactsPerParty()
const {
return syntheticContactsPerParty_; }
151 void setSyntheticContactsPerParty(
int v) { syntheticContactsPerParty_ = v; }
153 int syntheticContactsPerCounterparty()
const {
return syntheticContactsPerCounterparty_; }
154 void setSyntheticContactsPerCounterparty(
int v) { syntheticContactsPerCounterparty_ = v; }
156 bool syntheticGenerateIdentifiers()
const {
return syntheticGenerateIdentifiers_; }
157 void setSyntheticGenerateIdentifiers(
bool v) { syntheticGenerateIdentifiers_ = v; }
159 std::optional<std::uint64_t> syntheticSeed()
const {
return syntheticSeed_; }
160 void setSyntheticSeed(std::optional<std::uint64_t> v) { syntheticSeed_ = v; }
162 int partiesLinkedCount()
const {
return partiesLinkedCount_; }
163 void setPartiesLinkedCount(
int n) { partiesLinkedCount_ = n; }
171 void provisioningCompleted();
177 QString selectedBundleCode_;
178 QString selectedBundleName_;
181 DataSourceMode dataSourceMode_ = DataSourceMode::gleif;
183 QString rootLeiName_;
184 QString leiDatasetSize_;
185 QString syntheticCountry_;
186 int syntheticPartyCount_ = 5;
187 int syntheticPartyMaxDepth_ = 3;
188 int syntheticCounterpartyCount_ = 10;
189 int syntheticCounterpartyMaxDepth_ = 3;
190 int syntheticPortfolioLeafCount_ = 8;
191 int syntheticPortfolioMaxDepth_ = 4;
192 int syntheticBooksPerPortfolio_ = 2;
193 int syntheticBusinessUnitCount_ = 10;
194 int syntheticBusinessUnitMaxDepth_ = 2;
195 bool syntheticGenerateAddresses_ =
true;
196 int syntheticContactsPerParty_ = 2;
197 int syntheticContactsPerCounterparty_ = 1;
198 bool syntheticGenerateIdentifiers_ =
true;
199 std::optional<std::uint64_t> syntheticSeed_;
200 int partiesLinkedCount_ = 0;
290 bool validatePage()
override;
291 int nextId()
const override;
295 void onModeChanged();
298 QRadioButton* gleifRadio_;
299 QRadioButton* syntheticRadio_;
300 QWidget* syntheticOptions_;
301 QComboBox* countryCombo_;
302 QSpinBox* partyCountSpin_;
303 QSpinBox* partyMaxDepthSpin_;
304 QSpinBox* counterpartyCountSpin_;
305 QSpinBox* counterpartyMaxDepthSpin_;
306 QSpinBox* portfolioLeafCountSpin_;
307 QSpinBox* portfolioMaxDepthSpin_;
308 QSpinBox* booksPerPortfolioSpin_;
309 QSpinBox* businessUnitCountSpin_;
310 QSpinBox* businessUnitMaxDepthSpin_;
311 QSpinBox* contactsPerPartySpin_;
312 QSpinBox* contactsPerCounterpartySpin_;
313 QCheckBox* generateAddressesCheck_;
314 QCheckBox* generateIdentifiersCheck_;
315 QLineEdit* seedEdit_;