Browse Source

Optimizing validator

master
Preyea Regmi 5 years ago
parent
commit
13b232dbdb
  1. 9
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/model/recipientlistingV3/ReceiverInfoV3Model.java
  2. 105
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientDetailValidatorV3.java
  3. 2
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/add/RecipientAddV3Presenter.java
  4. 17
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/edit/RecipientEditV3Presenter.java

9
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/model/recipientlistingV3/ReceiverInfoV3Model.java

@ -335,16 +335,7 @@ public class ReceiverInfoV3Model implements Parcelable {
this.payoutPartner = payoutPartner;
}
public void updateSelectedCountry(CountryServiceModel selectedCountry)
{
this.country = selectedCountry.getCountryName();
this.countryId = selectedCountry.getCountryId();
this.countryCode = selectedCountry.getCountryCode();
printLog();
}
public void updateSelectedServiceTypeData(ServiceTypeModel selectedServiceType) {
this.agent=new AgentV3Model(selectedServiceType.getId(),selectedServiceType.getDescription(),"",null,"");

105
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientDetailValidatorV3.java

@ -127,6 +127,18 @@ public class RecipientDetailValidatorV3 {
}
public void updateSelectedCountry(CountryServiceModel selectedCountryServiceData) {
recipientInfo.setCountryId(selectedCountryServiceData.getCountryId());
recipientInfo.setCountryCode(selectedCountryServiceData.getCountryCode());
recipientInfo.setCountry(selectedCountryServiceData.getCountryName());
//TODO Reset Selected dependency here
recipientInfo.setPaymentMethod(null);
view.updateValueToWidgetSelectedPaymentMethod(null);
}
public void updateAccountNo(String text) {
ValidationRuleModel validationRuleModel = validationRuleModelMap.get(FIELD_ACCOUNT_NO);
@ -536,8 +548,10 @@ public class RecipientDetailValidatorV3 {
view.updateValidationRuleToWidgetBankName(isFieldRequired,
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
if (isFieldRequired)
if (isFieldRequired) {
//TODO Update validate flag to true if has data
validationRuleModelMap.put(FIELD_BANK_NAME, rule);
}
else {
recipientInfo.setAgent(null);
}
@ -548,8 +562,10 @@ public class RecipientDetailValidatorV3 {
view.updateValidationRuleToWidgetBranchName(isFieldRequired,
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
if (isFieldRequired)
if (isFieldRequired) {
//TODO Update validate flag to true if has data
validationRuleModelMap.put(FIELD_BRANCH_NAME, rule);
}
else {
AgentV3Model agentV3Model = recipientInfo.getAgent();
if (agentV3Model != null) {
@ -564,8 +580,10 @@ public class RecipientDetailValidatorV3 {
view.updateValidationRuleToWidgetAccountNo(isFieldRequired,
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
if (isFieldRequired)
if (isFieldRequired) {
//TODO Update validate flag to true if has data
validationRuleModelMap.put(FIELD_ACCOUNT_NO, rule);
}
else {
AgentV3Model agentV3Model = recipientInfo.getAgent();
if (agentV3Model != null) {
@ -579,8 +597,10 @@ public class RecipientDetailValidatorV3 {
view.updateValidationRuleToWidgetIDType(isFieldRequired,
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
if (isFieldRequired)
if (isFieldRequired) {
//TODO Update validate flag to true if has data
validationRuleModelMap.put(FIELD_ID_TYPE, rule);
}
else {
recipientInfo.setIdType(null);
}
@ -591,8 +611,10 @@ public class RecipientDetailValidatorV3 {
view.updateValidationRuleToWidgetIDNumber(isFieldRequired,
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
if (isFieldRequired)
if (isFieldRequired) {
//TODO Update validate flag to true if has data
validationRuleModelMap.put(FIELD_ID_NUMBER, rule);
}
else {
recipientInfo.setIdNumber(null);
}
@ -603,8 +625,10 @@ public class RecipientDetailValidatorV3 {
view.updateValidationRuleToWidgetFirstName(isFieldRequired,
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
if (isFieldRequired)
if (isFieldRequired) {
//TODO Update validate flag to true if has data
validationRuleModelMap.put(FIELD_FIRST_NAME, rule);
}
else {
recipientInfo.setFirstName(null);
}
@ -616,8 +640,10 @@ public class RecipientDetailValidatorV3 {
view.updateValidationRuleToWidgetMiddleName(isFieldRequired,
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
if (isFieldRequired)
if (isFieldRequired) {
//TODO Update validate flag to true if has data
validationRuleModelMap.put(FIELD_MIDDLE_NAME, rule);
}
else {
recipientInfo.setMiddleName(null);
}
@ -629,8 +655,10 @@ public class RecipientDetailValidatorV3 {
view.updateValidationRuleToWidgetLastName(isFieldRequired,
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
if (isFieldRequired)
if (isFieldRequired) {
//TODO Update validate flag to true if has data
validationRuleModelMap.put(FIELD_LAST_NAME, rule);
}
else {
recipientInfo.setLastName(null);
}
@ -642,8 +670,12 @@ public class RecipientDetailValidatorV3 {
view.updateValidationRuleToWidgetFullName(isFieldRequired,
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
if (isFieldRequired)
if (isFieldRequired) {
if(recipientInfo.getFullName()!=null&&recipientInfo.getFullName().length()>0)
rule.updateValidity(true);
validationRuleModelMap.put(FIELD_FULL_NAME, rule);
}
else {
recipientInfo.setFullName(null);
}
@ -654,8 +686,10 @@ public class RecipientDetailValidatorV3 {
view.updateValidationRuleToWidgetLocalFirstName(isFieldRequired,
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
if (isFieldRequired)
if (isFieldRequired) {
//TODO Update validate flag to true if has data
validationRuleModelMap.put(FIELD_FIRST_NAME_IN_LOCAL, rule);
}
else {
recipientInfo.setLocalFirstName(null);
}
@ -666,8 +700,10 @@ public class RecipientDetailValidatorV3 {
view.updateValidationRuleToWidgetLocalMiddleName(isFieldRequired,
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
if (isFieldRequired)
if (isFieldRequired) {
//TODO Update validate flag to true if has data
validationRuleModelMap.put(FIELD_MIDDLE_NAME_IN_LOCAL, rule);
}
else {
recipientInfo.setLocalMiddleName(null);
}
@ -678,8 +714,10 @@ public class RecipientDetailValidatorV3 {
view.updateValidationRuleToWidgetLocalLastName(isFieldRequired,
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
if (isFieldRequired)
if (isFieldRequired) {
//TODO Update validate flag to true if has data
validationRuleModelMap.put(FIELD_LAST_NAME_IN_LOCAL, rule);
}
else {
recipientInfo.setLocalLastName(null);
}
@ -690,8 +728,10 @@ public class RecipientDetailValidatorV3 {
view.updateValidationRuleToWidgetLocalFullName(isFieldRequired,
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
if (isFieldRequired)
if (isFieldRequired) {
//TODO Update validate flag to true if has data
validationRuleModelMap.put(FIELD_LOCAL_NAME, rule);
}
else {
recipientInfo.setLocalFullName(null);
}
@ -702,8 +742,10 @@ public class RecipientDetailValidatorV3 {
view.updateValidationRuleToWidgetMobileNumber(isFieldRequired,
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
if (isFieldRequired)
if (isFieldRequired) {
//TODO Update validate flag to true if has data
validationRuleModelMap.put(FIELD_MOBILE_NUMBER, rule);
}
else {
recipientInfo.setMobile(null);
}
@ -714,8 +756,10 @@ public class RecipientDetailValidatorV3 {
view.updateValidationRuleToWidgetProvince(isFieldRequired,
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
if (isFieldRequired)
if (isFieldRequired) {
//TODO Update validate flag to true if has data
validationRuleModelMap.put(FIELD_PROVINCE, rule);
}
else {
recipientInfo.setStateId(null);
recipientInfo.setState(null);
@ -727,8 +771,10 @@ public class RecipientDetailValidatorV3 {
view.updateValidationRuleToWidgetDistrict(isFieldRequired,
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
if (isFieldRequired)
if (isFieldRequired) {
//TODO Update validate flag to true if has data
validationRuleModelMap.put(FIELD_DISTRICT, rule);
}
else {
recipientInfo.setDistrictId(null);
recipientInfo.setDistrict(null);
@ -740,8 +786,10 @@ public class RecipientDetailValidatorV3 {
view.updateValidationRuleToWidgetCity(isFieldRequired,
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
if (isFieldRequired)
if (isFieldRequired) {
//TODO Update validate flag to true if has data
validationRuleModelMap.put(FIELD_CITY, rule);
}
else {
recipientInfo.setCity(null);
}
@ -753,6 +801,7 @@ public class RecipientDetailValidatorV3 {
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
if (isFieldRequired) {
//TODO Update validate flag to true if has data
if (recipientInfo.getAddress() != null && recipientInfo.getAddress().length() > 0)
rule.updateValidity(true);
validationRuleModelMap.put(FIELD_ADDRESS, rule);
@ -767,8 +816,9 @@ public class RecipientDetailValidatorV3 {
view.updateValidationRuleToWidgetRelation(isFieldRequired,
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
if (isFieldRequired)
if (isFieldRequired) {
validationRuleModelMap.put(FIELD_REALATION_GROUP, rule);
}
else {
recipientInfo.setRelationshipId(null);
recipientInfo.setRelationship(null);
@ -780,8 +830,10 @@ public class RecipientDetailValidatorV3 {
view.updateValidationRuleToWidgetTransferReason(isFieldRequired,
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
if (isFieldRequired)
if (isFieldRequired) {
//TODO Update validate flag to true if has data
validationRuleModelMap.put(FIELD_TRANSFER_REASON, rule);
}
else {
recipientInfo.setPurposeOfRemitId(null);
recipientInfo.setPurposeOfRemit(null);
@ -793,8 +845,10 @@ public class RecipientDetailValidatorV3 {
view.updateValidationRuleToWidgetEmail(isFieldRequired,
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(), rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
if (isFieldRequired)
if (isFieldRequired) {
//TODO Update validate flag to true if has data
validationRuleModelMap.put(FIELD_EMAIL, rule);
}
else {
recipientInfo.setEmail(null);
}
@ -810,12 +864,12 @@ public class RecipientDetailValidatorV3 {
private void validateAll() {
boolean areAllFormValid = true;
Iterator it = validationRuleModelMap.entrySet().iterator();
Log.d(ValidationRuleModel.class.getSimpleName().toString(), "Validation rule size is : "+validationRuleModelMap.size());
while (it.hasNext()) {
Map.Entry<String, ValidationRuleModel> pair = (Map.Entry) it.next();
Log.d(ValidationRuleModel.class.getSimpleName().toString(), "Validation status for " + pair.getValue().getField()+" is : "+pair.getValue().hasValidValue());
if (!pair.getValue().hasValidValue()) {
Log.d(ValidationRuleModel.class.getSimpleName().toString(), "Validation failed for " + pair.getValue().getField());
areAllFormValid = false;
break;
}
@ -885,7 +939,7 @@ public class RecipientDetailValidatorV3 {
break;
case FIELD_LAST_NAME_IN_LOCAL:
updateLastName(recipientInfo.getLocalLastName());
updateLastNameLocal(recipientInfo.getLocalLastName());
break;
case FIELD_LOCAL_NAME:
@ -932,5 +986,10 @@ public class RecipientDetailValidatorV3 {
}
}
private boolean checkStringNotEmpty(String data) {
return data != null && data.length() > 0;
}
}

2
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/add/RecipientAddV3Presenter.java

@ -135,7 +135,7 @@ public class RecipientAddV3Presenter extends RecipientAddEditBaseV3Presenter imp
flushPaymentMethodRelatedDataOnServiceTypeSelected();
validator.getRecipientDetail().updateSelectedCountry(validator.getSelectedCountryServiceData());
validator.updateSelectedCountry(validator.getSelectedCountryServiceData());
validator.getRecipientDetail().setPaymentMethod(new PaymentMethodV3Model(selectedServiceType.getId(), selectedServiceType.getText(), selectedServiceType.getDescription(), selectedServiceType.getCurrency()));
view.updateValueToWidgetSelectedPaymentMethod(selectedServiceType.getDescription());

17
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/edit/RecipientEditV3Presenter.java

@ -63,11 +63,10 @@ public class RecipientEditV3Presenter extends RecipientAddEditBaseV3Presenter im
@Override
public void onCountryServiceSelected(CountryServiceModel selectedCountry) {
validator.getRecipientDetail().updateSelectedCountry(validator.getSelectedCountryServiceData());
validator.updateSelectedCountryServiceData(selectedCountry);
validator.updateSelectedCountry(selectedCountry);
view.updateValueToWidgetSelectedCountry(selectedCountry.getCountryName());
view.showSelectedCountryFlag(CountryFlagMapper.getFlagFromCountryCode(selectedCountry.getCountryCode()));
@ -330,10 +329,8 @@ public class RecipientEditV3Presenter extends RecipientAddEditBaseV3Presenter im
//Map existing data to view and validator
// view.showCountrySelectionView(true);
// view.showPaymentSelectionView(true);
applyValidationRulesToView(data.getData().getValidationRuleList());
validator.validateAllRequiredFieldsExplicitly();
// validator.validateAllRequiredFieldsExplicitly();
} else {
view.showPopUpMessage(data.getMsg(), CustomAlertDialog.AlertType.FAILED, alertType -> view.exitView());
@ -369,26 +366,28 @@ public class RecipientEditV3Presenter extends RecipientAddEditBaseV3Presenter im
if (t.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) {
validator.updateAvailableCountryServiceData(t.getData());
seedExistingDatatoView();
showMobilePrefixAndFlag(validator.getRecipientDetail().getCountryCode());
if (validator.getRecipientDetail().getPaymentMethod() == null) {
//Since payment method is not available at the moment we cannot show his existing mapped data
view.updateValueToWidgetSelectedCountry(validator.getRecipientDetail().getCountry());
view.updateValueToWidgetSelectedPaymentMethod("");
view.showCountrySelectionView(true);
view.showPaymentSelectionView(true);
view.showSelectedCountryFlag(CountryFlagMapper.getFlagFromCountryCode(validator.getRecipientDetail().getCountryCode()));
} else {
seedExistingDatatoView();
String countryId = validator.getRecipientDetail().getCountryId();
String serviceTypeID = validator.getRecipientDetail().getPaymentMethod().getId();
getDynamicValidationAndDropDownList(countryId, serviceTypeID);
}
view.showCountrySelectionView(true);
view.showPaymentSelectionView(true);
} else {

Loading…
Cancel
Save