diff --git a/core/src/main/java/bisq/core/payment/payload/BankAccountPayload.java b/core/src/main/java/bisq/core/payment/payload/BankAccountPayload.java index 3abfa8b2aea..31a086a60e6 100644 --- a/core/src/main/java/bisq/core/payment/payload/BankAccountPayload.java +++ b/core/src/main/java/bisq/core/payment/payload/BankAccountPayload.java @@ -41,18 +41,14 @@ @Slf4j public abstract class BankAccountPayload extends CountryBasedPaymentAccountPayload implements PayloadWithHolderName { protected String holderName = ""; - @Nullable - protected String bankName; - @Nullable - protected String branchId; - @Nullable - protected String accountNr; + protected String bankName = ""; + protected String branchId = ""; + protected String accountNr = ""; @Nullable protected String accountType; @Nullable protected String holderTaxId; - @Nullable - protected String bankId; + protected String bankId = ""; @Nullable protected String nationalAccountId; diff --git a/core/src/main/java/bisq/core/payment/payload/CashDepositAccountPayload.java b/core/src/main/java/bisq/core/payment/payload/CashDepositAccountPayload.java index afa97764a9d..e60fa9e4402 100644 --- a/core/src/main/java/bisq/core/payment/payload/CashDepositAccountPayload.java +++ b/core/src/main/java/bisq/core/payment/payload/CashDepositAccountPayload.java @@ -46,20 +46,16 @@ public class CashDepositAccountPayload extends CountryBasedPaymentAccountPayload private String holderName = ""; @Nullable private String holderEmail; - @Nullable - private String bankName; - @Nullable - private String branchId; - @Nullable - private String accountNr; + private String bankName = ""; + private String branchId = ""; + private String accountNr = ""; @Nullable private String accountType; @Nullable private String requirements; @Nullable private String holderTaxId; - @Nullable - private String bankId; + private String bankId = ""; @Nullable protected String nationalAccountId; diff --git a/desktop/src/main/java/bisq/desktop/components/paymentmethods/BankForm.java b/desktop/src/main/java/bisq/desktop/components/paymentmethods/BankForm.java index 7ccb55821bf..848db9f6062 100644 --- a/desktop/src/main/java/bisq/desktop/components/paymentmethods/BankForm.java +++ b/desktop/src/main/java/bisq/desktop/components/paymentmethods/BankForm.java @@ -396,17 +396,12 @@ private void addHolderNameAndId() { }); } - @Override - protected void autoFillNameTextField() { - autoFillAccountTextFields(bankAccountPayload); - } - @Override public void updateAllInputsValid() { boolean result = isAccountNameValid() && paymentAccount.getSingleTradeCurrency() != null && getCountryBasedPaymentAccount().getCountry() != null - && holderNameInputTextField.getValidator().validate(bankAccountPayload.getHolderName()).isValid; + && inputValidator.validate(bankAccountPayload.getHolderName()).isValid; String countryCode = bankAccountPayload.getCountryCode(); result = getValidationResult(result, countryCode, diff --git a/desktop/src/main/java/bisq/desktop/components/paymentmethods/CashDepositForm.java b/desktop/src/main/java/bisq/desktop/components/paymentmethods/CashDepositForm.java index 5495cc7aa40..ab319063deb 100644 --- a/desktop/src/main/java/bisq/desktop/components/paymentmethods/CashDepositForm.java +++ b/desktop/src/main/java/bisq/desktop/components/paymentmethods/CashDepositForm.java @@ -31,6 +31,7 @@ import bisq.core.locale.TradeCurrency; import bisq.core.payment.CountryBasedPaymentAccount; import bisq.core.payment.PaymentAccount; +import bisq.core.payment.payload.BankAccountPayload; import bisq.core.payment.payload.CashDepositAccountPayload; import bisq.core.payment.payload.PaymentAccountPayload; import bisq.core.util.coin.CoinFormatter; @@ -444,18 +445,13 @@ private void addHolderNameAndId() { }); } - @Override - protected void autoFillNameTextField() { - autoFillAccountTextFields(cashDepositAccountPayload); - } - @Override public void updateAllInputsValid() { boolean result = isAccountNameValid() && paymentAccount.getSingleTradeCurrency() != null && getCountryBasedPaymentAccount().getCountry() != null - && holderNameInputTextField.getValidator().validate(cashDepositAccountPayload.getHolderName()).isValid - && emailInputTextField.getValidator().validate(cashDepositAccountPayload.getHolderEmail()).isValid; + && inputValidator.validate(cashDepositAccountPayload.getHolderName()).isValid + && emailValidator.validate(cashDepositAccountPayload.getHolderEmail()).isValid; String countryCode = cashDepositAccountPayload.getCountryCode(); result = getValidationResult(result, countryCode, @@ -483,4 +479,24 @@ private void addHolderNameAndIdForDisplayAccount() { cashDepositAccountPayload.getHolderName()); } } + + @Override + protected String getBankId() { + return ((CashDepositAccountPayload) paymentAccount.paymentAccountPayload).getBankId(); + } + + @Override + protected String getBranchId() { + return ((CashDepositAccountPayload) paymentAccount.paymentAccountPayload).getBranchId(); + } + + @Override + protected String getBankName() { + return ((CashDepositAccountPayload) paymentAccount.paymentAccountPayload).getBankName(); + } + + @Override + protected String getAccountNr() { + return ((CashDepositAccountPayload) paymentAccount.paymentAccountPayload).getAccountNr(); + } } diff --git a/desktop/src/main/java/bisq/desktop/components/paymentmethods/GeneralBankForm.java b/desktop/src/main/java/bisq/desktop/components/paymentmethods/GeneralBankForm.java index 2889abc1301..dfb843bff8f 100644 --- a/desktop/src/main/java/bisq/desktop/components/paymentmethods/GeneralBankForm.java +++ b/desktop/src/main/java/bisq/desktop/components/paymentmethods/GeneralBankForm.java @@ -10,6 +10,8 @@ import bisq.core.locale.BankUtil; import bisq.core.locale.Res; import bisq.core.payment.PaymentAccount; +import bisq.core.payment.payload.BankAccountPayload; +import bisq.core.payment.payload.CashDepositAccountPayload; import bisq.core.payment.payload.CountryBasedPaymentAccountPayload; import bisq.core.util.coin.CoinFormatter; import bisq.core.util.validation.InputValidator; @@ -135,27 +137,28 @@ void updateHolderIDInput(String countryCode, boolean requiresHolderId) { } } - void autoFillAccountTextFields(CountryBasedPaymentAccountPayload paymentAccountPayload) { + @Override + protected void autoFillNameTextField() { if (useCustomAccountNameToggleButton != null && !useCustomAccountNameToggleButton.isSelected()) { String bankId = null; - String countryCode = paymentAccountPayload.getCountryCode(); + String countryCode = getCountryCode(); if (countryCode == null) countryCode = ""; if (BankUtil.isBankIdRequired(countryCode)) { - bankId = bankIdInputTextField.getText().trim(); + bankId = getBankId(); if (bankId.length() > 9) bankId = StringUtils.abbreviate(bankId, 9); } else if (BankUtil.isBranchIdRequired(countryCode)) { - bankId = branchIdInputTextField.getText().trim(); + bankId = getBranchId(); if (bankId.length() > 9) bankId = StringUtils.abbreviate(bankId, 9); } else if (BankUtil.isBankNameRequired(countryCode)) { - bankId = bankNameInputTextField.getText().trim(); + bankId = getBankName(); if (bankId.length() > 9) bankId = StringUtils.abbreviate(bankId, 9); } - String accountNr = accountNrInputTextField.getText().trim(); + String accountNr = getAccountNr(); if (accountNr.length() > 9) accountNr = StringUtils.abbreviate(accountNr, 9); @@ -201,9 +204,29 @@ boolean getValidationResult(boolean result, String countryCode, String bankName, if (BankUtil.isNationalAccountIdRequired(countryCode)) result = result && nationalAccountIdInputTextField.getValidator().validate(nationalAccountId).isValid; } else { // only account number not empty validation - result = result && accountNrInputTextField.getValidator().validate(accountNr).isValid; + result = result && (accountNrInputTextField == null || accountNrInputTextField.getValidator().validate(accountNr).isValid); } return result; } + + protected String getBankId() { + return ((BankAccountPayload) paymentAccount.paymentAccountPayload).getBankId(); + } + + protected String getBranchId() { + return ((BankAccountPayload) paymentAccount.paymentAccountPayload).getBranchId(); + } + + protected String getBankName() { + return ((BankAccountPayload) paymentAccount.paymentAccountPayload).getBankName(); + } + + protected String getAccountNr() { + return ((BankAccountPayload) paymentAccount.paymentAccountPayload).getAccountNr(); + } + + protected String getCountryCode() { + return ((CountryBasedPaymentAccountPayload) paymentAccount.paymentAccountPayload).getCountryCode(); + } } diff --git a/desktop/src/main/java/bisq/desktop/components/paymentmethods/GeneralUsBankForm.java b/desktop/src/main/java/bisq/desktop/components/paymentmethods/GeneralUsBankForm.java index 85c17ad6ec8..cc2d6feddec 100644 --- a/desktop/src/main/java/bisq/desktop/components/paymentmethods/GeneralUsBankForm.java +++ b/desktop/src/main/java/bisq/desktop/components/paymentmethods/GeneralUsBankForm.java @@ -30,7 +30,6 @@ import bisq.core.payment.CountryBasedPaymentAccount; import bisq.core.payment.PaymentAccount; import bisq.core.payment.payload.BankAccountPayload; -import bisq.core.payment.payload.CountryBasedPaymentAccountPayload; import bisq.core.payment.payload.PaymentAccountPayload; import bisq.core.util.coin.CoinFormatter; import bisq.core.util.validation.InputValidator; @@ -162,9 +161,4 @@ protected void onCountrySelected(Country country) { paymentAccount.setSingleTradeCurrency(currency); } } - - @Override - protected void autoFillNameTextField() { - autoFillAccountTextFields((CountryBasedPaymentAccountPayload) paymentAccount.getPaymentAccountPayload()); - } }