Completed the sonar fixes in FINERATC-436
Project: http://git-wip-us.apache.org/repos/asf/fineract/repo Commit: http://git-wip-us.apache.org/repos/asf/fineract/commit/50048151 Tree: http://git-wip-us.apache.org/repos/asf/fineract/tree/50048151 Diff: http://git-wip-us.apache.org/repos/asf/fineract/diff/50048151 Branch: refs/heads/develop Commit: 50048151a82a966adf45b7f8297a3601e7f69f9f Parents: 20db9d4 Author: ThisuraThejith <[email protected]> Authored: Thu Jun 8 13:27:45 2017 +0530 Committer: ThisuraThejith <[email protected]> Committed: Thu Jun 8 13:27:45 2017 +0530 ---------------------------------------------------------------------- .../api/ProvisioningEntriesApiResource.java | 15 +- .../ProvisioningEntriesApiConstants.java | 7 - ...ioningEntriesDefinitionJsonDeserializer.java | 6 + .../holiday/api/HolidayApiConstants.java | 10 +- .../holiday/data/HolidayDataValidator.java | 14 +- .../api/ProvisioningCriteriaApiResource.java | 22 +- .../ProvisioningCriteriaConstants.java | 75 ++----- ...oningCriteriaDefinitionJsonDeserializer.java | 21 +- .../teller/domain/CashierTxnType.java | 8 +- .../api/WorkingDaysApiConstants.java | 9 +- .../workingdays/data/WorkingDayValidator.java | 11 +- .../api/AccountTransfersApiConstants.java | 12 +- .../api/StandingInstructionApiConstants.java | 18 +- .../data/AccountTransfersDataValidator.java | 40 ++-- .../data/StandingInstructionDataValidator.java | 219 +++++++++++-------- .../constants/ShareAccountApiConstants.java | 7 - .../client/api/ClientApiConstants.java | 56 +---- .../data/ClientApiCollectionConstants.java | 86 ++++++++ .../client/data/ClientChargeDataValidator.java | 6 +- .../client/data/ClientDataValidator.java | 49 +++-- .../CollectionSheetConstants.java | 15 -- ...CollectionSheetTransactionDataValidator.java | 140 +++++++----- ...tGenerateCommandFromApiJsonDeserializer.java | 8 +- .../group/api/GroupingTypesApiConstants.java | 30 +-- .../serialization/GroupRolesDataValidator.java | 9 +- .../GroupingTypesDataValidator.java | 42 +++- .../InterestIncentiveApiConstants.java | 8 - .../InterestRateChartApiConstants.java | 16 +- .../InterestRateChartSlabApiConstants.java | 14 -- .../api/InterestRateChartSlabsApiResource.java | 21 +- .../api/InterestRateChartsApiResource.java | 23 +- .../data/InterestIncentiveDataValidator.java | 14 +- .../data/InterestRateChartDataValidator.java | 15 +- .../InterestRateChartSlabDataValidator.java | 17 +- .../guarantor/api/GuarantorsApiResource.java | 10 +- .../RescheduleLoansApiConstants.java | 11 - .../LoanRescheduleRequestDataValidator.java | 30 ++- .../LoanProductConfigurableAttributes.java | 9 +- .../serialization/LoanProductDataValidator.java | 15 +- .../portfolio/meeting/MeetingApiConstants.java | 6 - .../meeting/api/MeetingsApiResource.java | 9 +- .../meeting/data/MeetingDataValidator.java | 11 +- .../paymentdetail/PaymentDetailConstants.java | 4 - .../api/PaymentTypeApiResourceConstants.java | 9 +- .../data/PaymentTypeDataValidator.java | 17 +- .../portfolio/savings/DepositsApiConstants.java | 55 ++--- .../portfolio/savings/SavingsApiConstants.java | 145 ++---------- ...ccountOnHoldFundTransactionsApiResource.java | 4 +- ...edDepositAccountTransactionsApiResource.java | 2 +- ...ngDepositAccountTransactionsApiResource.java | 2 +- .../api/SavingsAccountChargesApiResource.java | 9 +- .../SavingsAccountTransactionsApiResource.java | 4 +- .../savings/api/SavingsAccountsApiResource.java | 8 +- .../savings/api/SavingsApiSetConstants.java | 84 +++++++ .../savings/api/SavingsProductsApiResource.java | 10 +- .../DepositAccountTransactionDataValidator.java | 39 +++- .../data/SavingsAccountChargeDataValidator.java | 9 +- .../savings/data/SavingsAccountConstant.java | 76 +++++++ .../data/SavingsAccountDataValidator.java | 7 +- .../SavingsAccountTransactionDataValidator.java | 6 +- .../data/SavingsProductDataValidator.java | 33 ++- .../search/data/AdHocQueryDataValidator.java | 41 +++- .../search/data/AdHocQuerySearchConstants.java | 23 +- .../api/SelfBeneficiariesTPTApiConstants.java | 14 -- .../api/SelfBeneficiariesTPTApiResource.java | 15 +- .../data/SelfBeneficiariesTPTDataValidator.java | 13 +- .../ShareAccountDataSerializer.java | 37 +++- .../constants/ShareProductApiConstants.java | 15 -- .../ShareProductDataSerializer.java | 40 +++- .../transfer/api/TransferApiConstants.java | 17 -- .../transfer/data/TransfersDataValidator.java | 44 +++- .../api/PasswordPreferencesApiConstants.java | 5 +- .../data/PasswordPreferencesDataValidator.java | 9 +- 73 files changed, 1166 insertions(+), 794 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/fineract/blob/50048151/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/api/ProvisioningEntriesApiResource.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/api/ProvisioningEntriesApiResource.java b/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/api/ProvisioningEntriesApiResource.java index 1a7b4a5..d5369c2 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/api/ProvisioningEntriesApiResource.java +++ b/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/api/ProvisioningEntriesApiResource.java @@ -48,6 +48,10 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + @Path("/provisioningentries") @Component @Scope("singleton") @@ -59,7 +63,10 @@ public class ProvisioningEntriesApiResource { private final DefaultToApiJsonSerializer<Object> entriesApiJsonSerializer; private final ProvisioningEntriesReadPlatformService provisioningEntriesReadPlatformService; private final ApiRequestParameterHelper apiRequestParameterHelper; - + private static final Set<String> PROVISIONING_ENTRY_PARAMETERS = new HashSet<>(Arrays.asList( + ProvisioningEntriesApiConstants.PROVISIONINGENTRY_PARAM, ProvisioningEntriesApiConstants.ENTRIES_PARAM)); + private static final Set<String> ALL_PROVISIONING_ENTRIES = new HashSet<>(Arrays.asList + (ProvisioningEntriesApiConstants.PROVISIONINGENTRY_PARAM)); @Autowired public ProvisioningEntriesApiResource(final PlatformSecurityContext platformSecurityContext, final PortfolioCommandSourceWritePlatformService commandsSourceWritePlatformService, @@ -115,7 +122,7 @@ public class ProvisioningEntriesApiResource { platformSecurityContext.authenticatedUser(); ProvisioningEntryData data = this.provisioningEntriesReadPlatformService.retrieveProvisioningEntryData(entryId); final ApiRequestJsonSerializationSettings settings = this.apiRequestParameterHelper.process(uriInfo.getQueryParameters()); - return this.toApiJsonSerializer.serialize(settings, data, ProvisioningEntriesApiConstants.PROVISIONING_ENTRY_PARAMETERS); + return this.toApiJsonSerializer.serialize(settings, data, PROVISIONING_ENTRY_PARAMETERS); } @GET @@ -129,7 +136,7 @@ public class ProvisioningEntriesApiResource { SearchParameters params = SearchParameters.forProvisioningEntries(entryId, officeId, productId, categoryId, offset, limit); Page<LoanProductProvisioningEntryData> entries = this.provisioningEntriesReadPlatformService.retrieveProvisioningEntries(params); final ApiRequestJsonSerializationSettings settings = this.apiRequestParameterHelper.process(uriInfo.getQueryParameters()); - return this.entriesApiJsonSerializer.serialize(settings, entries, ProvisioningEntriesApiConstants.PROVISIONING_ENTRY_PARAMETERS); + return this.entriesApiJsonSerializer.serialize(settings, entries, PROVISIONING_ENTRY_PARAMETERS); } @GET @@ -140,6 +147,6 @@ public class ProvisioningEntriesApiResource { platformSecurityContext.authenticatedUser(); Page<ProvisioningEntryData> data = this.provisioningEntriesReadPlatformService.retrieveAllProvisioningEntries(offset, limit); final ApiRequestJsonSerializationSettings settings = this.apiRequestParameterHelper.process(uriInfo.getQueryParameters()); - return this.entriesApiJsonSerializer.serialize(settings, data, ProvisioningEntriesApiConstants.ALL_PROVISIONING_ENTRIES); + return this.entriesApiJsonSerializer.serialize(settings, data, ALL_PROVISIONING_ENTRIES); } } http://git-wip-us.apache.org/repos/asf/fineract/blob/50048151/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/constant/ProvisioningEntriesApiConstants.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/constant/ProvisioningEntriesApiConstants.java b/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/constant/ProvisioningEntriesApiConstants.java index 69cfec4..5149c84 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/constant/ProvisioningEntriesApiConstants.java +++ b/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/constant/ProvisioningEntriesApiConstants.java @@ -35,12 +35,5 @@ public interface ProvisioningEntriesApiConstants { public final static String PROVISIONINGENTRY_PARAM = "provisioningentry"; public final static String ENTRIES_PARAM = "entries"; - - Set<String> supportedParameters = new HashSet<>( - Arrays.asList(JSON_DATE_PARAM, JSON_DATEFORMAT_PARAM, JSON_LOCALE_PARAM, JSON_CREATEJOURNALENTRIES_PARAM)); - - Set<String> PROVISIONING_ENTRY_PARAMETERS = new HashSet<>(Arrays.asList(PROVISIONINGENTRY_PARAM, ENTRIES_PARAM)); - - Set<String> ALL_PROVISIONING_ENTRIES = new HashSet<>(Arrays.asList(PROVISIONINGENTRY_PARAM)); } http://git-wip-us.apache.org/repos/asf/fineract/blob/50048151/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/serialization/ProvisioningEntriesDefinitionJsonDeserializer.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/serialization/ProvisioningEntriesDefinitionJsonDeserializer.java b/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/serialization/ProvisioningEntriesDefinitionJsonDeserializer.java index 4e61c78..43067fb 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/serialization/ProvisioningEntriesDefinitionJsonDeserializer.java +++ b/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/serialization/ProvisioningEntriesDefinitionJsonDeserializer.java @@ -20,9 +20,12 @@ package org.apache.fineract.accounting.provisioning.serialization; import java.lang.reflect.Type; import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashSet; import java.util.List; import java.util.Locale; import java.util.Map; +import java.util.Set; import org.apache.commons.lang.StringUtils; import org.apache.fineract.accounting.provisioning.constant.ProvisioningEntriesApiConstants; @@ -43,6 +46,9 @@ import com.google.gson.reflect.TypeToken; public class ProvisioningEntriesDefinitionJsonDeserializer implements ProvisioningEntriesApiConstants { private final FromJsonHelper fromApiJsonHelper; + private static final Set<String> supportedParameters = new HashSet<>( + Arrays.asList(JSON_DATE_PARAM, JSON_DATEFORMAT_PARAM, JSON_LOCALE_PARAM, JSON_CREATEJOURNALENTRIES_PARAM)); + @Autowired public ProvisioningEntriesDefinitionJsonDeserializer(final FromJsonHelper fromApiJsonHelper) { http://git-wip-us.apache.org/repos/asf/fineract/blob/50048151/fineract-provider/src/main/java/org/apache/fineract/organisation/holiday/api/HolidayApiConstants.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/holiday/api/HolidayApiConstants.java b/fineract-provider/src/main/java/org/apache/fineract/organisation/holiday/api/HolidayApiConstants.java index 5bf2ba7..27fa538 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/organisation/holiday/api/HolidayApiConstants.java +++ b/fineract-provider/src/main/java/org/apache/fineract/organisation/holiday/api/HolidayApiConstants.java @@ -42,11 +42,7 @@ public class HolidayApiConstants { public static final String processed = "processed"; public static final String status = "status"; - public static final Set<String> HOLIDAY_CREATE_OR_UPDATE_REQUEST_DATA_PARAMETERS = new HashSet<>(Arrays.asList(localeParamName, - dateFormatParamName, nameParamName, fromDateParamName, toDateParamName, descriptionParamName, officesParamName, - repaymentsRescheduledToParamName)); - - public static final Set<String> HOLIDAY_RESPONSE_DATA_PARAMETERS = new HashSet<>(Arrays.asList(idParamName, nameParamName, - fromDateParamName, descriptionParamName, toDateParamName, repaymentsRescheduledToParamName, localeParamName, - dateFormatParamName, status)); + protected static final Set<String> HOLIDAY_RESPONSE_DATA_PARAMETERS = new HashSet<>( + Arrays.asList(idParamName, nameParamName, fromDateParamName, descriptionParamName, toDateParamName, + repaymentsRescheduledToParamName, localeParamName, dateFormatParamName, status)); } http://git-wip-us.apache.org/repos/asf/fineract/blob/50048151/fineract-provider/src/main/java/org/apache/fineract/organisation/holiday/data/HolidayDataValidator.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/holiday/data/HolidayDataValidator.java b/fineract-provider/src/main/java/org/apache/fineract/organisation/holiday/data/HolidayDataValidator.java index 264af0e..e99eafb 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/organisation/holiday/data/HolidayDataValidator.java +++ b/fineract-provider/src/main/java/org/apache/fineract/organisation/holiday/data/HolidayDataValidator.java @@ -20,6 +20,7 @@ package org.apache.fineract.organisation.holiday.data; import java.lang.reflect.Type; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashSet; import java.util.List; import java.util.Map; @@ -45,6 +46,11 @@ import com.google.gson.reflect.TypeToken; public class HolidayDataValidator { private final FromJsonHelper fromApiJsonHelper; + private static final Set<String> HOLIDAY_CREATE_OR_UPDATE_REQUEST_DATA_PARAMETERS = new HashSet<>( + Arrays.asList(HolidayApiConstants.localeParamName, HolidayApiConstants.dateFormatParamName, + HolidayApiConstants.nameParamName, HolidayApiConstants.fromDateParamName, + HolidayApiConstants.toDateParamName, HolidayApiConstants.descriptionParamName, + HolidayApiConstants.officesParamName, HolidayApiConstants.repaymentsRescheduledToParamName)); @Autowired public HolidayDataValidator(final FromJsonHelper fromApiJsonHelper) { @@ -56,8 +62,8 @@ public class HolidayDataValidator { if (StringUtils.isBlank(json)) { throw new InvalidJsonException(); } final Type typeOfMap = new TypeToken<Map<String, Object>>() {}.getType(); - this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, - HolidayApiConstants.HOLIDAY_CREATE_OR_UPDATE_REQUEST_DATA_PARAMETERS); + this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, + HOLIDAY_CREATE_OR_UPDATE_REQUEST_DATA_PARAMETERS); final JsonElement element = this.fromApiJsonHelper.parse(json); final List<ApiParameterError> dataValidationErrors = new ArrayList<>(); @@ -104,8 +110,8 @@ public class HolidayDataValidator { if (StringUtils.isBlank(json)) { throw new InvalidJsonException(); } final Type typeOfMap = new TypeToken<Map<String, Object>>() {}.getType(); - this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, - HolidayApiConstants.HOLIDAY_CREATE_OR_UPDATE_REQUEST_DATA_PARAMETERS); + this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, + HOLIDAY_CREATE_OR_UPDATE_REQUEST_DATA_PARAMETERS); final JsonElement element = this.fromApiJsonHelper.parse(json); final List<ApiParameterError> dataValidationErrors = new ArrayList<>(); http://git-wip-us.apache.org/repos/asf/fineract/blob/50048151/fineract-provider/src/main/java/org/apache/fineract/organisation/provisioning/api/ProvisioningCriteriaApiResource.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/provisioning/api/ProvisioningCriteriaApiResource.java b/fineract-provider/src/main/java/org/apache/fineract/organisation/provisioning/api/ProvisioningCriteriaApiResource.java index d627d99..46efdb0 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/organisation/provisioning/api/ProvisioningCriteriaApiResource.java +++ b/fineract-provider/src/main/java/org/apache/fineract/organisation/provisioning/api/ProvisioningCriteriaApiResource.java @@ -18,7 +18,10 @@ */ package org.apache.fineract.organisation.provisioning.api; +import java.util.Arrays; import java.util.Collection; +import java.util.HashSet; +import java.util.Set; import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; @@ -57,6 +60,19 @@ public class ProvisioningCriteriaApiResource { private final ProvisioningCriteriaReadPlatformService provisioningCriteriaReadPlatformService; private final PortfolioCommandSourceWritePlatformService commandsSourceWritePlatformService; private final DefaultToApiJsonSerializer<ProvisioningCriteriaData> toApiJsonSerializer; + + private static final Set<String> PROVISIONING_CRITERIA_TEMPLATE_PARAMETER = new HashSet<>( + Arrays.asList(ProvisioningCriteriaConstants.DEFINITIONS_PARAM, + ProvisioningCriteriaConstants.LOANPRODUCTS_PARAM, ProvisioningCriteriaConstants.GLACCOUNTS_PARAM)); + + private static final Set<String> PROVISIONING_CRITERIA_PARAMETERS = new HashSet<>( + Arrays.asList(ProvisioningCriteriaConstants.CRITERIA_PARAM, + ProvisioningCriteriaConstants.LOANPRODUCTS_PARAM, ProvisioningCriteriaConstants.DEFINITIONS_PARAM)); + + private static final Set<String> ALL_PROVISIONING_CRITERIA_PARAMETERS = new HashSet<>( + Arrays.asList(ProvisioningCriteriaConstants.CRITERIA_ID_PARAM, + ProvisioningCriteriaConstants.CRITERIA_NAME_PARAM, ProvisioningCriteriaConstants.CREATED_BY_PARAM)); + @Autowired public ProvisioningCriteriaApiResource(final PlatformSecurityContext platformSecurityContext, final ApiRequestParameterHelper apiRequestParameterHelper, @@ -78,7 +94,7 @@ public class ProvisioningCriteriaApiResource { this.platformSecurityContext.authenticatedUser(); final ApiRequestJsonSerializationSettings settings = this.apiRequestParameterHelper.process(uriInfo.getQueryParameters()); ProvisioningCriteriaData data = this.provisioningCriteriaReadPlatformService.retrievePrivisiongCriteriaTemplate(); - return this.toApiJsonSerializer.serialize(settings, data, ProvisioningCriteriaConstants.PROVISIONING_CRITERIA_TEMPLATE_PARAMETER); + return this.toApiJsonSerializer.serialize(settings, data, PROVISIONING_CRITERIA_TEMPLATE_PARAMETER); } @GET @@ -92,7 +108,7 @@ public class ProvisioningCriteriaApiResource { if(settings.isTemplate()) { criteria = this.provisioningCriteriaReadPlatformService.retrievePrivisiongCriteriaTemplate(criteria); } - return this.toApiJsonSerializer.serialize(settings, criteria, ProvisioningCriteriaConstants.PROVISIONING_CRITERIA_PARAMETERS); + return this.toApiJsonSerializer.serialize(settings, criteria, PROVISIONING_CRITERIA_PARAMETERS); } @GET @@ -102,7 +118,7 @@ public class ProvisioningCriteriaApiResource { platformSecurityContext.authenticatedUser() ; Collection<ProvisioningCriteriaData> data = this.provisioningCriteriaReadPlatformService.retrieveAllProvisioningCriterias() ; final ApiRequestJsonSerializationSettings settings = this.apiRequestParameterHelper.process(uriInfo.getQueryParameters()); - return this.toApiJsonSerializer.serialize(settings, data, ProvisioningCriteriaConstants.ALL_PROVISIONING_CRITERIA_PARAMETERS); + return this.toApiJsonSerializer.serialize(settings, data, ALL_PROVISIONING_CRITERIA_PARAMETERS); } @POST http://git-wip-us.apache.org/repos/asf/fineract/blob/50048151/fineract-provider/src/main/java/org/apache/fineract/organisation/provisioning/constants/ProvisioningCriteriaConstants.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/provisioning/constants/ProvisioningCriteriaConstants.java b/fineract-provider/src/main/java/org/apache/fineract/organisation/provisioning/constants/ProvisioningCriteriaConstants.java index 87b6d7d..b0c7898 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/organisation/provisioning/constants/ProvisioningCriteriaConstants.java +++ b/fineract-provider/src/main/java/org/apache/fineract/organisation/provisioning/constants/ProvisioningCriteriaConstants.java @@ -23,57 +23,26 @@ import java.util.HashSet; import java.util.Set; public interface ProvisioningCriteriaConstants { - - public final static String JSON_LOCALE_PARAM = "locale" ; - - public final static String JSON_CRITERIAID_PARAM = "criteriaId" ; - - public final static String JSON_CRITERIANAME_PARAM = "criteriaName"; - - public final static String JSON_LOANPRODUCTS_PARAM = "loanProducts"; - - public final static String JSON_LOAN_PRODUCT_ID_PARAM = "id" ; - - public final static String JSON_LOAN_PRODUCTNAME_PARAM = "name" ; - - public final static String JSON_LOAN_PRODUCT_BORROWERCYCLE_PARAM = "includeInBorrowerCycle" ; - - public final static String JSON_PROVISIONING_DEFINITIONS_PARAM = "definitions"; - - public final static String JSON_CATEOGRYID_PARAM = "categoryId"; - - public final static String JSON_CATEOGRYNAME_PARAM = "categoryName"; - - public final static String JSON_MINIMUM_AGE_PARAM = "minAge"; - - public final static String JSON_MAXIMUM_AGE_PARAM = "maxAge"; - - public final static String JSON_PROVISIONING_PERCENTAGE_PARAM = "provisioningPercentage"; - - public final static String JSON_LIABILITY_ACCOUNT_PARAM = "liabilityAccount"; - - public final static String JSON_EXPENSE_ACCOUNT_PARAM = "expenseAccount"; - - Set<String> supportedParametersForCreate = new HashSet<>(Arrays.asList(JSON_LOCALE_PARAM, JSON_CRITERIANAME_PARAM, - JSON_LOANPRODUCTS_PARAM, JSON_PROVISIONING_DEFINITIONS_PARAM)); - - Set<String> supportedParametersForUpdate = new HashSet<>(Arrays.asList(JSON_CRITERIAID_PARAM, JSON_LOCALE_PARAM, JSON_CRITERIANAME_PARAM, - JSON_LOANPRODUCTS_PARAM, JSON_PROVISIONING_DEFINITIONS_PARAM)); - - Set<String> loanProductSupportedParams = new HashSet<>(Arrays.asList(JSON_LOAN_PRODUCT_ID_PARAM, - JSON_LOAN_PRODUCTNAME_PARAM, JSON_LOAN_PRODUCT_BORROWERCYCLE_PARAM)) ; - - Set<String> provisioningcriteriaSupportedParams = new HashSet<>(Arrays.asList(JSON_CATEOGRYID_PARAM, - JSON_CATEOGRYNAME_PARAM, JSON_MINIMUM_AGE_PARAM, JSON_MAXIMUM_AGE_PARAM, JSON_MINIMUM_AGE_PARAM, JSON_PROVISIONING_PERCENTAGE_PARAM, JSON_EXPENSE_ACCOUNT_PARAM, JSON_LIABILITY_ACCOUNT_PARAM)) ; - - - Set<String> PROVISIONING_CRITERIA_TEMPLATE_PARAMETER = new HashSet<>(Arrays.asList("definitions", "loanProducts", - "glAccounts")); - - Set<String> PROVISIONING_CRITERIA_PARAMETERS = new HashSet<>(Arrays.asList("criteriaName", "loanProducts", - "definitions")); - - Set<String> ALL_PROVISIONING_CRITERIA_PARAMETERS = new HashSet<>(Arrays.asList("criteriaId", "criterianame", - "createdby")); - + public final static String JSON_LOCALE_PARAM = "locale"; + public final static String JSON_CRITERIAID_PARAM = "criteriaId"; + public final static String JSON_CRITERIANAME_PARAM = "criteriaName"; + public final static String JSON_LOANPRODUCTS_PARAM = "loanProducts"; + public final static String JSON_LOAN_PRODUCT_ID_PARAM = "id"; + public final static String JSON_LOAN_PRODUCTNAME_PARAM = "name"; + public final static String JSON_LOAN_PRODUCT_BORROWERCYCLE_PARAM = "includeInBorrowerCycle"; + public final static String JSON_PROVISIONING_DEFINITIONS_PARAM = "definitions"; + public final static String JSON_CATEOGRYID_PARAM = "categoryId"; + public final static String JSON_CATEOGRYNAME_PARAM = "categoryName"; + public final static String JSON_MINIMUM_AGE_PARAM = "minAge"; + public final static String JSON_MAXIMUM_AGE_PARAM = "maxAge"; + public final static String JSON_PROVISIONING_PERCENTAGE_PARAM = "provisioningPercentage"; + public final static String JSON_LIABILITY_ACCOUNT_PARAM = "liabilityAccount"; + public final static String JSON_EXPENSE_ACCOUNT_PARAM = "expenseAccount"; + public final static String DEFINITIONS_PARAM = "definitions"; + public final static String LOANPRODUCTS_PARAM = "loanProducts"; + public final static String GLACCOUNTS_PARAM = "glAccounts"; + public final static String CRITERIA_PARAM = "criteriaName"; + public final static String CRITERIA_ID_PARAM = "criteriaId"; + public final static String CRITERIA_NAME_PARAM = "criterianame"; + public final static String CREATED_BY_PARAM = "createdby"; } http://git-wip-us.apache.org/repos/asf/fineract/blob/50048151/fineract-provider/src/main/java/org/apache/fineract/organisation/provisioning/serialization/ProvisioningCriteriaDefinitionJsonDeserializer.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/provisioning/serialization/ProvisioningCriteriaDefinitionJsonDeserializer.java b/fineract-provider/src/main/java/org/apache/fineract/organisation/provisioning/serialization/ProvisioningCriteriaDefinitionJsonDeserializer.java index 4e7b051..6c0ca78 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/organisation/provisioning/serialization/ProvisioningCriteriaDefinitionJsonDeserializer.java +++ b/fineract-provider/src/main/java/org/apache/fineract/organisation/provisioning/serialization/ProvisioningCriteriaDefinitionJsonDeserializer.java @@ -21,9 +21,12 @@ package org.apache.fineract.organisation.provisioning.serialization; import java.lang.reflect.Type; import java.math.BigDecimal; import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashSet; import java.util.List; import java.util.Locale; import java.util.Map; +import java.util.Set; import org.apache.commons.lang.StringUtils; import org.apache.fineract.infrastructure.core.data.ApiParameterError; @@ -41,9 +44,23 @@ import com.google.gson.JsonObject; import com.google.gson.reflect.TypeToken; @Component -public class ProvisioningCriteriaDefinitionJsonDeserializer implements ProvisioningCriteriaConstants{ +public class ProvisioningCriteriaDefinitionJsonDeserializer implements ProvisioningCriteriaConstants { - private final FromJsonHelper fromApiJsonHelper; + private final FromJsonHelper fromApiJsonHelper; + + private final static Set<String> supportedParametersForCreate = new HashSet<>(Arrays.asList(JSON_LOCALE_PARAM, + JSON_CRITERIANAME_PARAM, JSON_LOANPRODUCTS_PARAM, JSON_PROVISIONING_DEFINITIONS_PARAM)); + + private final static Set<String> supportedParametersForUpdate = new HashSet<>(Arrays.asList(JSON_CRITERIAID_PARAM, + JSON_LOCALE_PARAM, JSON_CRITERIANAME_PARAM, JSON_LOANPRODUCTS_PARAM, JSON_PROVISIONING_DEFINITIONS_PARAM)); + + private final static Set<String> loanProductSupportedParams = new HashSet<>(Arrays + .asList(JSON_LOAN_PRODUCT_ID_PARAM, JSON_LOAN_PRODUCTNAME_PARAM, JSON_LOAN_PRODUCT_BORROWERCYCLE_PARAM)); + + private final static Set<String> provisioningcriteriaSupportedParams = new HashSet<>( + Arrays.asList(JSON_CATEOGRYID_PARAM, JSON_CATEOGRYNAME_PARAM, JSON_MINIMUM_AGE_PARAM, + JSON_MAXIMUM_AGE_PARAM, JSON_MINIMUM_AGE_PARAM, JSON_PROVISIONING_PERCENTAGE_PARAM, + JSON_EXPENSE_ACCOUNT_PARAM, JSON_LIABILITY_ACCOUNT_PARAM)); @Autowired public ProvisioningCriteriaDefinitionJsonDeserializer(final FromJsonHelper fromApiJsonHelper) { http://git-wip-us.apache.org/repos/asf/fineract/blob/50048151/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/domain/CashierTxnType.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/domain/CashierTxnType.java b/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/domain/CashierTxnType.java index 8b1ddb7..1141deb 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/domain/CashierTxnType.java +++ b/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/domain/CashierTxnType.java @@ -25,10 +25,10 @@ public class CashierTxnType { private Integer id; private String value; - public static CashierTxnType ALLOCATE = new CashierTxnType (101, "Allocate Cash"); - public static CashierTxnType SETTLE = new CashierTxnType (102, "Settle Cash"); - public static CashierTxnType INWARD_CASH_TXN = new CashierTxnType (103, "Cash In"); - public static CashierTxnType OUTWARD_CASH_TXN = new CashierTxnType (104, "Cash Out"); + public static final CashierTxnType ALLOCATE = new CashierTxnType (101, "Allocate Cash"); + public static final CashierTxnType SETTLE = new CashierTxnType (102, "Settle Cash"); + public static final CashierTxnType INWARD_CASH_TXN = new CashierTxnType (103, "Cash In"); + public static final CashierTxnType OUTWARD_CASH_TXN = new CashierTxnType (104, "Cash Out"); private CashierTxnType () { } http://git-wip-us.apache.org/repos/asf/fineract/blob/50048151/fineract-provider/src/main/java/org/apache/fineract/organisation/workingdays/api/WorkingDaysApiConstants.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/workingdays/api/WorkingDaysApiConstants.java b/fineract-provider/src/main/java/org/apache/fineract/organisation/workingdays/api/WorkingDaysApiConstants.java index fda39bb..5cfef90 100755 --- a/fineract-provider/src/main/java/org/apache/fineract/organisation/workingdays/api/WorkingDaysApiConstants.java +++ b/fineract-provider/src/main/java/org/apache/fineract/organisation/workingdays/api/WorkingDaysApiConstants.java @@ -38,13 +38,10 @@ public class WorkingDaysApiConstants { public static final String extendTermForDailyRepayments = "extendTermForDailyRepayments"; public static final String extendTermForRepaymentsOnHolidays = "extendTermForRepaymentsOnHolidays"; - - public static final Set<String> WORKING_DAYS_CREATE_OR_UPDATE_REQUEST_DATA_PARAMETERS =new HashSet<>(Arrays.asList( - recurrence,repayment_rescheduling_enum,localeParamName,extendTermForDailyRepayments,extendTermForRepaymentsOnHolidays - )); - public static final Set<String> WORKING_DAYS_RESPONSE_DATA_PARAMETERS = new HashSet<>(Arrays.asList(idParamName, + protected static final Set<String> WORKING_DAYS_RESPONSE_DATA_PARAMETERS = new HashSet<>(Arrays.asList(idParamName, recurrence,repayment_rescheduling_enum,extendTermForDailyRepayments,extendTermForRepaymentsOnHolidays )); - public static final Set<String> WORKING_DAYS_TEMPLATE_PARAMETERS = new HashSet<>(Arrays.asList(rescheduleRepaymentTemplate)); + protected static final Set<String> WORKING_DAYS_TEMPLATE_PARAMETERS = new HashSet<>(Arrays.asList + (rescheduleRepaymentTemplate)); } http://git-wip-us.apache.org/repos/asf/fineract/blob/50048151/fineract-provider/src/main/java/org/apache/fineract/organisation/workingdays/data/WorkingDayValidator.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/workingdays/data/WorkingDayValidator.java b/fineract-provider/src/main/java/org/apache/fineract/organisation/workingdays/data/WorkingDayValidator.java index 466ca0f..77bd3f7 100755 --- a/fineract-provider/src/main/java/org/apache/fineract/organisation/workingdays/data/WorkingDayValidator.java +++ b/fineract-provider/src/main/java/org/apache/fineract/organisation/workingdays/data/WorkingDayValidator.java @@ -20,8 +20,11 @@ package org.apache.fineract.organisation.workingdays.data; import java.lang.reflect.Type; import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Set; import org.apache.commons.lang.StringUtils; import org.apache.fineract.infrastructure.core.data.ApiParameterError; @@ -40,6 +43,10 @@ import com.google.gson.reflect.TypeToken; public class WorkingDayValidator { private final FromJsonHelper fromApiJsonHelper; + private static final Set<String> WORKING_DAYS_CREATE_OR_UPDATE_REQUEST_DATA_PARAMETERS = new HashSet<>( + Arrays.asList(WorkingDaysApiConstants.recurrence, WorkingDaysApiConstants.repayment_rescheduling_enum, + WorkingDaysApiConstants.localeParamName, WorkingDaysApiConstants.extendTermForDailyRepayments, + WorkingDaysApiConstants.extendTermForRepaymentsOnHolidays)); @Autowired public WorkingDayValidator(FromJsonHelper fromApiJsonHelper) { @@ -50,8 +57,8 @@ public class WorkingDayValidator { if (StringUtils.isBlank(json)) { throw new InvalidJsonException(); } final Type typeOfMap = new TypeToken<Map<String, Object>>() {}.getType(); - this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, - WorkingDaysApiConstants.WORKING_DAYS_CREATE_OR_UPDATE_REQUEST_DATA_PARAMETERS); + this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, + WORKING_DAYS_CREATE_OR_UPDATE_REQUEST_DATA_PARAMETERS); final JsonElement element = this.fromApiJsonHelper.parse(json); final List<ApiParameterError> dataValidationErrors = new ArrayList<>(); http://git-wip-us.apache.org/repos/asf/fineract/blob/50048151/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/api/AccountTransfersApiConstants.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/api/AccountTransfersApiConstants.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/api/AccountTransfersApiConstants.java index 08cc368..84eeba6 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/api/AccountTransfersApiConstants.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/api/AccountTransfersApiConstants.java @@ -33,19 +33,13 @@ public class AccountTransfersApiConstants { public static final String transferDateParamName = "transferDate"; public static final String transferAmountParamName = "transferAmount"; public static final String transferDescriptionParamName = "transferDescription"; - - public static final Set<String> REQUEST_DATA_PARAMETERS = new HashSet<>(Arrays.asList(AccountDetailConstants.localeParamName, - AccountDetailConstants.dateFormatParamName, AccountDetailConstants.fromOfficeIdParamName, - AccountDetailConstants.fromClientIdParamName, AccountDetailConstants.fromAccountTypeParamName, - AccountDetailConstants.fromAccountIdParamName, AccountDetailConstants.toOfficeIdParamName, - AccountDetailConstants.toClientIdParamName, AccountDetailConstants.toAccountTypeParamName, - AccountDetailConstants.toAccountIdParamName, transferDateParamName, transferAmountParamName, transferDescriptionParamName)); + public static final String currencyParamName = "currency"; /** * These parameters will match the class level parameters of * {@link AccountTransferData}. Where possible, we try to get response * parameters to match those of request parameters. */ - public static final Set<String> RESPONSE_DATA_PARAMETERS = new HashSet<>(Arrays.asList(AccountDetailConstants.idParamName, - transferDescriptionParamName, "currency")); + protected static final Set<String> RESPONSE_DATA_PARAMETERS = new HashSet<>( + Arrays.asList(AccountDetailConstants.idParamName, transferDescriptionParamName, currencyParamName)); } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/fineract/blob/50048151/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/api/StandingInstructionApiConstants.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/api/StandingInstructionApiConstants.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/api/StandingInstructionApiConstants.java index fae6cbd..f29b7f9 100755 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/api/StandingInstructionApiConstants.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/api/StandingInstructionApiConstants.java @@ -41,22 +41,8 @@ public class StandingInstructionApiConstants { public static final String recurrenceOnMonthDayParamName = "recurrenceOnMonthDay"; public static final String monthDayFormatParamName = "monthDayFormat"; - public static final Set<String> CREATE_REQUEST_DATA_PARAMETERS = new HashSet<>(Arrays.asList( - AccountDetailConstants.localeParamName, AccountDetailConstants.dateFormatParamName, - AccountDetailConstants.fromOfficeIdParamName, AccountDetailConstants.fromClientIdParamName, - AccountDetailConstants.fromAccountTypeParamName, AccountDetailConstants.fromAccountIdParamName, - AccountDetailConstants.toOfficeIdParamName, AccountDetailConstants.toClientIdParamName, - AccountDetailConstants.toAccountTypeParamName, AccountDetailConstants.toAccountIdParamName, - AccountDetailConstants.transferTypeParamName, priorityParamName, instructionTypeParamName, statusParamName, amountParamName, - validFromParamName, validTillParamName, recurrenceTypeParamName, recurrenceFrequencyParamName, recurrenceIntervalParamName, - recurrenceOnMonthDayParamName, nameParamName, monthDayFormatParamName)); - - public static final Set<String> UPDATE_REQUEST_DATA_PARAMETERS = new HashSet<>(Arrays.asList( - AccountDetailConstants.localeParamName, AccountDetailConstants.dateFormatParamName, priorityParamName, - instructionTypeParamName, statusParamName, amountParamName, validFromParamName, validTillParamName, recurrenceTypeParamName, - recurrenceFrequencyParamName, recurrenceIntervalParamName, recurrenceOnMonthDayParamName, monthDayFormatParamName)); - - public static final Set<String> RESPONSE_DATA_PARAMETERS = new HashSet<>(Arrays.asList(AccountDetailConstants.idParamName, + protected static final Set<String> RESPONSE_DATA_PARAMETERS = new HashSet<>(Arrays.asList(AccountDetailConstants + .idParamName, nameParamName, priorityParamName, instructionTypeParamName, statusParamName, AccountDetailConstants.transferTypeParamName, validFromParamName, validTillParamName)); http://git-wip-us.apache.org/repos/asf/fineract/blob/50048151/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/data/AccountTransfersDataValidator.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/data/AccountTransfersDataValidator.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/data/AccountTransfersDataValidator.java index 0b79597..f7002d1 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/data/AccountTransfersDataValidator.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/data/AccountTransfersDataValidator.java @@ -18,17 +18,14 @@ */ package org.apache.fineract.portfolio.account.data; -import static org.apache.fineract.portfolio.account.api.AccountTransfersApiConstants.ACCOUNT_TRANSFER_RESOURCE_NAME; -import static org.apache.fineract.portfolio.account.api.AccountTransfersApiConstants.REQUEST_DATA_PARAMETERS; -import static org.apache.fineract.portfolio.account.api.AccountTransfersApiConstants.transferAmountParamName; -import static org.apache.fineract.portfolio.account.api.AccountTransfersApiConstants.transferDateParamName; -import static org.apache.fineract.portfolio.account.api.AccountTransfersApiConstants.transferDescriptionParamName; - import java.lang.reflect.Type; import java.math.BigDecimal; import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Set; import org.apache.commons.lang.StringUtils; import org.apache.fineract.infrastructure.core.api.JsonCommand; @@ -37,6 +34,8 @@ import org.apache.fineract.infrastructure.core.data.DataValidatorBuilder; import org.apache.fineract.infrastructure.core.exception.InvalidJsonException; import org.apache.fineract.infrastructure.core.exception.PlatformApiDataValidationException; import org.apache.fineract.infrastructure.core.serialization.FromJsonHelper; +import org.apache.fineract.portfolio.account.AccountDetailConstants; +import org.apache.fineract.portfolio.account.api.AccountTransfersApiConstants; import org.joda.time.LocalDate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -49,6 +48,15 @@ public class AccountTransfersDataValidator { private final FromJsonHelper fromApiJsonHelper; private final AccountTransfersDetailDataValidator accountTransfersDetailDataValidator; + private static final Set<String> REQUEST_DATA_PARAMETERS = new HashSet<>(Arrays.asList( + AccountDetailConstants.localeParamName, AccountDetailConstants.dateFormatParamName, + AccountDetailConstants.fromOfficeIdParamName, AccountDetailConstants.fromClientIdParamName, + AccountDetailConstants.fromAccountTypeParamName, AccountDetailConstants.fromAccountIdParamName, + AccountDetailConstants.toOfficeIdParamName, AccountDetailConstants.toClientIdParamName, + AccountDetailConstants.toAccountTypeParamName, AccountDetailConstants.toAccountIdParamName, + AccountTransfersApiConstants.transferDateParamName, AccountTransfersApiConstants.transferAmountParamName, + AccountTransfersApiConstants.transferDescriptionParamName)); + @Autowired public AccountTransfersDataValidator(final FromJsonHelper fromApiJsonHelper, @@ -68,20 +76,26 @@ public class AccountTransfersDataValidator { final List<ApiParameterError> dataValidationErrors = new ArrayList<>(); final DataValidatorBuilder baseDataValidator = new DataValidatorBuilder(dataValidationErrors) - .resource(ACCOUNT_TRANSFER_RESOURCE_NAME); + .resource(AccountTransfersApiConstants.ACCOUNT_TRANSFER_RESOURCE_NAME); final JsonElement element = command.parsedJson(); this.accountTransfersDetailDataValidator.validate(command, baseDataValidator); - final LocalDate transactionDate = this.fromApiJsonHelper.extractLocalDateNamed(transferDateParamName, element); - baseDataValidator.reset().parameter(transferDateParamName).value(transactionDate).notNull(); + final LocalDate transactionDate = this.fromApiJsonHelper + .extractLocalDateNamed(AccountTransfersApiConstants.transferDateParamName, element); + baseDataValidator.reset().parameter(AccountTransfersApiConstants.transferDateParamName).value + (transactionDate).notNull(); - final BigDecimal transactionAmount = this.fromApiJsonHelper.extractBigDecimalWithLocaleNamed(transferAmountParamName, element); - baseDataValidator.reset().parameter(transferAmountParamName).value(transactionAmount).notNull().positiveAmount(); + final BigDecimal transactionAmount = this.fromApiJsonHelper.extractBigDecimalWithLocaleNamed + (AccountTransfersApiConstants.transferAmountParamName, element); + baseDataValidator.reset().parameter(AccountTransfersApiConstants.transferAmountParamName).value + (transactionAmount).notNull().positiveAmount(); - final String transactionDescription = this.fromApiJsonHelper.extractStringNamed(transferDescriptionParamName, element); - baseDataValidator.reset().parameter(transferDescriptionParamName).value(transactionDescription).notBlank() + final String transactionDescription = this.fromApiJsonHelper.extractStringNamed(AccountTransfersApiConstants + .transferDescriptionParamName, element); + baseDataValidator.reset().parameter(AccountTransfersApiConstants.transferDescriptionParamName).value + (transactionDescription).notBlank() .notExceedingLengthOf(200); throwExceptionIfValidationWarningsExist(dataValidationErrors); http://git-wip-us.apache.org/repos/asf/fineract/blob/50048151/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/data/StandingInstructionDataValidator.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/data/StandingInstructionDataValidator.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/data/StandingInstructionDataValidator.java index 92e6042..ccdba4c 100755 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/data/StandingInstructionDataValidator.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/data/StandingInstructionDataValidator.java @@ -21,27 +21,16 @@ package org.apache.fineract.portfolio.account.data; import static org.apache.fineract.portfolio.account.AccountDetailConstants.fromAccountTypeParamName; import static org.apache.fineract.portfolio.account.AccountDetailConstants.toAccountTypeParamName; import static org.apache.fineract.portfolio.account.AccountDetailConstants.transferTypeParamName; -import static org.apache.fineract.portfolio.account.api.StandingInstructionApiConstants.CREATE_REQUEST_DATA_PARAMETERS; -import static org.apache.fineract.portfolio.account.api.StandingInstructionApiConstants.STANDING_INSTRUCTION_RESOURCE_NAME; -import static org.apache.fineract.portfolio.account.api.StandingInstructionApiConstants.UPDATE_REQUEST_DATA_PARAMETERS; -import static org.apache.fineract.portfolio.account.api.StandingInstructionApiConstants.amountParamName; -import static org.apache.fineract.portfolio.account.api.StandingInstructionApiConstants.instructionTypeParamName; -import static org.apache.fineract.portfolio.account.api.StandingInstructionApiConstants.nameParamName; -import static org.apache.fineract.portfolio.account.api.StandingInstructionApiConstants.priorityParamName; -import static org.apache.fineract.portfolio.account.api.StandingInstructionApiConstants.recurrenceFrequencyParamName; -import static org.apache.fineract.portfolio.account.api.StandingInstructionApiConstants.recurrenceIntervalParamName; -import static org.apache.fineract.portfolio.account.api.StandingInstructionApiConstants.recurrenceOnMonthDayParamName; -import static org.apache.fineract.portfolio.account.api.StandingInstructionApiConstants.recurrenceTypeParamName; -import static org.apache.fineract.portfolio.account.api.StandingInstructionApiConstants.statusParamName; -import static org.apache.fineract.portfolio.account.api.StandingInstructionApiConstants.validFromParamName; -import static org.apache.fineract.portfolio.account.api.StandingInstructionApiConstants.validTillParamName; import java.lang.reflect.Type; import java.math.BigDecimal; import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashSet; import java.util.List; import java.util.Locale; import java.util.Map; +import java.util.Set; import org.apache.commons.lang.StringUtils; import org.apache.fineract.infrastructure.core.api.JsonCommand; @@ -50,7 +39,9 @@ import org.apache.fineract.infrastructure.core.data.DataValidatorBuilder; import org.apache.fineract.infrastructure.core.exception.InvalidJsonException; import org.apache.fineract.infrastructure.core.exception.PlatformApiDataValidationException; import org.apache.fineract.infrastructure.core.serialization.FromJsonHelper; +import org.apache.fineract.portfolio.account.AccountDetailConstants; import org.apache.fineract.portfolio.account.PortfolioAccountType; +import org.apache.fineract.portfolio.account.api.StandingInstructionApiConstants; import org.apache.fineract.portfolio.account.domain.AccountTransferRecurrenceType; import org.apache.fineract.portfolio.account.domain.AccountTransferType; import org.apache.fineract.portfolio.account.domain.StandingInstructionType; @@ -64,10 +55,36 @@ import com.google.gson.JsonElement; import com.google.gson.reflect.TypeToken; @Component -public class StandingInstructionDataValidator { + public class StandingInstructionDataValidator { private final FromJsonHelper fromApiJsonHelper; private final AccountTransfersDetailDataValidator accountTransfersDetailDataValidator; + private static final Set<String> CREATE_REQUEST_DATA_PARAMETERS = new HashSet<>(Arrays.asList( + AccountDetailConstants.localeParamName, AccountDetailConstants.dateFormatParamName, + AccountDetailConstants.fromOfficeIdParamName, AccountDetailConstants.fromClientIdParamName, + AccountDetailConstants.fromAccountTypeParamName, AccountDetailConstants.fromAccountIdParamName, + AccountDetailConstants.toOfficeIdParamName, AccountDetailConstants.toClientIdParamName, + AccountDetailConstants.toAccountTypeParamName, AccountDetailConstants.toAccountIdParamName, + AccountDetailConstants.transferTypeParamName, StandingInstructionApiConstants.priorityParamName, + StandingInstructionApiConstants.instructionTypeParamName, StandingInstructionApiConstants.statusParamName, + StandingInstructionApiConstants.amountParamName, StandingInstructionApiConstants.validFromParamName, + StandingInstructionApiConstants.validTillParamName, StandingInstructionApiConstants.recurrenceTypeParamName, + StandingInstructionApiConstants.recurrenceFrequencyParamName, + StandingInstructionApiConstants.recurrenceIntervalParamName, + StandingInstructionApiConstants.recurrenceOnMonthDayParamName, + StandingInstructionApiConstants.nameParamName, StandingInstructionApiConstants.monthDayFormatParamName)); + + private static final Set<String> UPDATE_REQUEST_DATA_PARAMETERS = new HashSet<>(Arrays.asList( + AccountDetailConstants.localeParamName, AccountDetailConstants.dateFormatParamName, + StandingInstructionApiConstants.priorityParamName, StandingInstructionApiConstants.instructionTypeParamName, + StandingInstructionApiConstants.statusParamName, StandingInstructionApiConstants.amountParamName, + StandingInstructionApiConstants.validFromParamName, StandingInstructionApiConstants.validTillParamName, + StandingInstructionApiConstants.recurrenceTypeParamName, + StandingInstructionApiConstants.recurrenceFrequencyParamName, + StandingInstructionApiConstants.recurrenceIntervalParamName, + StandingInstructionApiConstants.recurrenceOnMonthDayParamName, + StandingInstructionApiConstants.monthDayFormatParamName)); + @Autowired public StandingInstructionDataValidator(final FromJsonHelper fromApiJsonHelper, @@ -86,71 +103,82 @@ public class StandingInstructionDataValidator { final List<ApiParameterError> dataValidationErrors = new ArrayList<>(); final DataValidatorBuilder baseDataValidator = new DataValidatorBuilder(dataValidationErrors) - .resource(STANDING_INSTRUCTION_RESOURCE_NAME); + .resource(StandingInstructionApiConstants.STANDING_INSTRUCTION_RESOURCE_NAME); this.accountTransfersDetailDataValidator.validate(command, baseDataValidator); final JsonElement element = command.parsedJson(); - final Integer status = this.fromApiJsonHelper.extractIntegerNamed(statusParamName, element, Locale.getDefault()); - baseDataValidator.reset().parameter(statusParamName).value(status).notNull().inMinMaxRange(1, 2); + final Integer status = this.fromApiJsonHelper + .extractIntegerNamed(StandingInstructionApiConstants.statusParamName, element, Locale.getDefault()); + baseDataValidator.reset().parameter(StandingInstructionApiConstants.statusParamName).value(status).notNull() + .inMinMaxRange(1, 2); - final LocalDate validFrom = this.fromApiJsonHelper.extractLocalDateNamed(validFromParamName, element); - baseDataValidator.reset().parameter(validFromParamName).value(validFrom).notNull(); + final LocalDate validFrom = this.fromApiJsonHelper + .extractLocalDateNamed(StandingInstructionApiConstants.validFromParamName, element); + baseDataValidator.reset().parameter(StandingInstructionApiConstants.validFromParamName).value(validFrom) + .notNull(); - final LocalDate validTill = this.fromApiJsonHelper.extractLocalDateNamed(validTillParamName, element); - baseDataValidator.reset().parameter(validTillParamName).value(validTill).validateDateAfter(validFrom); + final LocalDate validTill = this.fromApiJsonHelper + .extractLocalDateNamed(StandingInstructionApiConstants.validTillParamName, element); + baseDataValidator.reset().parameter(StandingInstructionApiConstants.validTillParamName).value(validTill) + .validateDateAfter(validFrom); - final BigDecimal transferAmount = this.fromApiJsonHelper.extractBigDecimalWithLocaleNamed(amountParamName, element); - baseDataValidator.reset().parameter(amountParamName).value(transferAmount).positiveAmount(); + final BigDecimal transferAmount = this.fromApiJsonHelper.extractBigDecimalWithLocaleNamed(StandingInstructionApiConstants.amountParamName, element); + baseDataValidator.reset().parameter(StandingInstructionApiConstants.amountParamName).value(transferAmount).positiveAmount(); final Integer transferType = this.fromApiJsonHelper.extractIntegerNamed(transferTypeParamName, element, Locale.getDefault()); baseDataValidator.reset().parameter(transferTypeParamName).value(transferType).notNull().inMinMaxRange(1, 3); - final Integer priority = this.fromApiJsonHelper.extractIntegerNamed(priorityParamName, element, Locale.getDefault()); - baseDataValidator.reset().parameter(priorityParamName).value(priority).notNull().inMinMaxRange(1, 4); + final Integer priority = this.fromApiJsonHelper.extractIntegerNamed(StandingInstructionApiConstants.priorityParamName, element, Locale.getDefault()); + baseDataValidator.reset().parameter(StandingInstructionApiConstants.priorityParamName).value(priority).notNull().inMinMaxRange(1, 4); - final Integer standingInstructionType = this.fromApiJsonHelper.extractIntegerNamed(instructionTypeParamName, element, + final Integer standingInstructionType = this.fromApiJsonHelper.extractIntegerNamed(StandingInstructionApiConstants.instructionTypeParamName, element, Locale.getDefault()); - baseDataValidator.reset().parameter(instructionTypeParamName).value(standingInstructionType).notNull().inMinMaxRange(1, 2); + baseDataValidator.reset().parameter(StandingInstructionApiConstants.instructionTypeParamName).value(standingInstructionType).notNull().inMinMaxRange(1, 2); - final Integer recurrenceType = this.fromApiJsonHelper.extractIntegerNamed(recurrenceTypeParamName, element, Locale.getDefault()); - baseDataValidator.reset().parameter(recurrenceTypeParamName).value(recurrenceType).notNull().inMinMaxRange(1, 2); + final Integer recurrenceType = this.fromApiJsonHelper.extractIntegerNamed(StandingInstructionApiConstants.recurrenceTypeParamName, element, Locale.getDefault()); + baseDataValidator.reset().parameter(StandingInstructionApiConstants.recurrenceTypeParamName).value(recurrenceType).notNull().inMinMaxRange(1, 2); boolean isPeriodic = false; if (recurrenceType != null) { isPeriodic = AccountTransferRecurrenceType.fromInt(recurrenceType).isPeriodicRecurrence(); } - final Integer recurrenceFrequency = this.fromApiJsonHelper.extractIntegerNamed(recurrenceFrequencyParamName, element, + final Integer recurrenceFrequency = this.fromApiJsonHelper.extractIntegerNamed( + StandingInstructionApiConstants.recurrenceFrequencyParamName, element, Locale.getDefault()); - baseDataValidator.reset().parameter(recurrenceFrequencyParamName).value(recurrenceFrequency).inMinMaxRange(0, 3); + baseDataValidator.reset().parameter(StandingInstructionApiConstants.recurrenceFrequencyParamName) + .value(recurrenceFrequency).inMinMaxRange(0, 3); if (recurrenceFrequency != null) { PeriodFrequencyType frequencyType = PeriodFrequencyType.fromInt(recurrenceFrequency); if (frequencyType.isMonthly() || frequencyType.isYearly()) { - final MonthDay monthDay = this.fromApiJsonHelper.extractMonthDayNamed(recurrenceOnMonthDayParamName, element); - baseDataValidator.reset().parameter(recurrenceOnMonthDayParamName).value(monthDay).notNull(); + final MonthDay monthDay = this.fromApiJsonHelper + .extractMonthDayNamed(StandingInstructionApiConstants.recurrenceOnMonthDayParamName, element); + baseDataValidator.reset().parameter(StandingInstructionApiConstants.recurrenceOnMonthDayParamName) + .value(monthDay).notNull(); } } - final Integer recurrenceInterval = this.fromApiJsonHelper.extractIntegerNamed(recurrenceIntervalParamName, element, + final Integer recurrenceInterval = this.fromApiJsonHelper.extractIntegerNamed( + StandingInstructionApiConstants.recurrenceIntervalParamName, element, Locale.getDefault()); if (isPeriodic) { - baseDataValidator.reset().parameter(recurrenceIntervalParamName).value(recurrenceInterval).notNull(); - baseDataValidator.reset().parameter(recurrenceFrequencyParamName).value(recurrenceFrequency).notNull(); + baseDataValidator.reset().parameter(StandingInstructionApiConstants.recurrenceIntervalParamName).value(recurrenceInterval).notNull(); + baseDataValidator.reset().parameter(StandingInstructionApiConstants.recurrenceFrequencyParamName).value(recurrenceFrequency).notNull(); } - baseDataValidator.reset().parameter(recurrenceIntervalParamName).value(recurrenceInterval).integerGreaterThanZero(); + baseDataValidator.reset().parameter(StandingInstructionApiConstants.recurrenceIntervalParamName).value(recurrenceInterval).integerGreaterThanZero(); - final String name = this.fromApiJsonHelper.extractStringNamed(nameParamName, element); - baseDataValidator.reset().parameter(nameParamName).value(name).notNull(); + final String name = this.fromApiJsonHelper.extractStringNamed(StandingInstructionApiConstants.nameParamName, element); + baseDataValidator.reset().parameter(StandingInstructionApiConstants.nameParamName).value(name).notNull(); final Integer toAccountType = this.fromApiJsonHelper.extractIntegerSansLocaleNamed(toAccountTypeParamName, element); if (toAccountType != null && PortfolioAccountType.fromInt(toAccountType).isSavingsAccount()) { - baseDataValidator.reset().parameter(instructionTypeParamName).value(standingInstructionType).notNull().inMinMaxRange(1, 1); - baseDataValidator.reset().parameter(recurrenceTypeParamName).value(recurrenceType).notNull().inMinMaxRange(1, 1); + baseDataValidator.reset().parameter(StandingInstructionApiConstants.instructionTypeParamName).value(standingInstructionType).notNull().inMinMaxRange(1, 1); + baseDataValidator.reset().parameter(StandingInstructionApiConstants.recurrenceTypeParamName).value(recurrenceType).notNull().inMinMaxRange(1, 1); } if (standingInstructionType != null && StandingInstructionType.fromInt(standingInstructionType).isFixedAmoutTransfer()) { - baseDataValidator.reset().parameter(amountParamName).value(transferAmount).notNull(); + baseDataValidator.reset().parameter(StandingInstructionApiConstants.amountParamName).value(transferAmount).notNull(); } String errorCode = null; @@ -184,62 +212,79 @@ public class StandingInstructionDataValidator { final List<ApiParameterError> dataValidationErrors = new ArrayList<>(); final DataValidatorBuilder baseDataValidator = new DataValidatorBuilder(dataValidationErrors) - .resource(STANDING_INSTRUCTION_RESOURCE_NAME); + .resource(StandingInstructionApiConstants.STANDING_INSTRUCTION_RESOURCE_NAME); final JsonElement element = command.parsedJson(); - if (this.fromApiJsonHelper.parameterExists(validFromParamName, element)) { - final LocalDate validFrom = this.fromApiJsonHelper.extractLocalDateNamed(validFromParamName, element); - baseDataValidator.reset().parameter(validFromParamName).value(validFrom).notNull(); - } - - if (this.fromApiJsonHelper.parameterExists(validTillParamName, element)) { - final LocalDate validTill = this.fromApiJsonHelper.extractLocalDateNamed(validTillParamName, element); - baseDataValidator.reset().parameter(validTillParamName).value(validTill).notNull(); - } - - if (this.fromApiJsonHelper.parameterExists(amountParamName, element)) { - final BigDecimal transferAmount = this.fromApiJsonHelper.extractBigDecimalWithLocaleNamed(amountParamName, element); - baseDataValidator.reset().parameter(amountParamName).value(transferAmount).positiveAmount(); + if (this.fromApiJsonHelper.parameterExists(StandingInstructionApiConstants.validFromParamName, element)) { + final LocalDate validFrom = this.fromApiJsonHelper + .extractLocalDateNamed(StandingInstructionApiConstants.validFromParamName, element); + baseDataValidator.reset().parameter(StandingInstructionApiConstants.validFromParamName).value(validFrom) + .notNull(); } - if (this.fromApiJsonHelper.parameterExists(statusParamName, element)) { - final Integer status = this.fromApiJsonHelper.extractIntegerNamed(statusParamName, element, Locale.getDefault()); - baseDataValidator.reset().parameter(statusParamName).value(status).notNull().inMinMaxRange(1, 2); + if (this.fromApiJsonHelper.parameterExists(StandingInstructionApiConstants.validTillParamName, element)) { + final LocalDate validTill = this.fromApiJsonHelper + .extractLocalDateNamed(StandingInstructionApiConstants.validTillParamName, element); + baseDataValidator.reset().parameter(StandingInstructionApiConstants.validTillParamName).value(validTill) + .notNull(); } - if (this.fromApiJsonHelper.parameterExists(priorityParamName, element)) { - final Integer priority = this.fromApiJsonHelper.extractIntegerNamed(priorityParamName, element, Locale.getDefault()); - baseDataValidator.reset().parameter(priorityParamName).value(priority).notNull().inMinMaxRange(1, 4); + if (this.fromApiJsonHelper.parameterExists(StandingInstructionApiConstants.amountParamName, element)) { + final BigDecimal transferAmount = this.fromApiJsonHelper + .extractBigDecimalWithLocaleNamed(StandingInstructionApiConstants.amountParamName, element); + baseDataValidator.reset().parameter(StandingInstructionApiConstants.amountParamName).value(transferAmount) + .positiveAmount(); } - if (this.fromApiJsonHelper.parameterExists(instructionTypeParamName, element)) { - final Integer standingInstructionType = this.fromApiJsonHelper.extractIntegerNamed(instructionTypeParamName, element, - Locale.getDefault()); - baseDataValidator.reset().parameter(instructionTypeParamName).value(standingInstructionType).notNull().inMinMaxRange(1, 2); + if (this.fromApiJsonHelper.parameterExists(StandingInstructionApiConstants.statusParamName, element)) { + final Integer status = this.fromApiJsonHelper + .extractIntegerNamed(StandingInstructionApiConstants.statusParamName, element, Locale.getDefault()); + baseDataValidator.reset().parameter(StandingInstructionApiConstants.statusParamName).value(status).notNull() + .inMinMaxRange(1, 2); } - if (this.fromApiJsonHelper.parameterExists(recurrenceTypeParamName, element)) { - final Integer recurrenceType = this.fromApiJsonHelper - .extractIntegerNamed(recurrenceTypeParamName, element, Locale.getDefault()); - baseDataValidator.reset().parameter(recurrenceTypeParamName).value(recurrenceType).notNull().inMinMaxRange(1, 2); + if (this.fromApiJsonHelper.parameterExists(StandingInstructionApiConstants.priorityParamName, element)) { + final Integer priority = this.fromApiJsonHelper.extractIntegerNamed( + StandingInstructionApiConstants.priorityParamName, element, Locale.getDefault()); + baseDataValidator.reset().parameter(StandingInstructionApiConstants.priorityParamName).value(priority) + .notNull().inMinMaxRange(1, 4); } - if (this.fromApiJsonHelper.parameterExists(recurrenceFrequencyParamName, element)) { - final Integer recurrenceFrequency = this.fromApiJsonHelper.extractIntegerNamed(recurrenceFrequencyParamName, element, - Locale.getDefault()); - baseDataValidator.reset().parameter(recurrenceFrequencyParamName).value(recurrenceFrequency).inMinMaxRange(0, 3); - } - - if (this.fromApiJsonHelper.parameterExists(recurrenceIntervalParamName, element)) { - final Integer recurrenceInterval = this.fromApiJsonHelper.extractIntegerNamed(recurrenceIntervalParamName, element, - Locale.getDefault()); - baseDataValidator.reset().parameter(recurrenceIntervalParamName).value(recurrenceInterval).integerGreaterThanZero(); - } - - if (this.fromApiJsonHelper.parameterExists(nameParamName, element)) { - final String name = this.fromApiJsonHelper.extractStringNamed(nameParamName, element); - baseDataValidator.reset().parameter(nameParamName).value(name).notNull(); - } + if (this.fromApiJsonHelper.parameterExists(StandingInstructionApiConstants.instructionTypeParamName, element)) { + final Integer standingInstructionType = this.fromApiJsonHelper.extractIntegerNamed( + StandingInstructionApiConstants.instructionTypeParamName, element, Locale.getDefault()); + baseDataValidator.reset().parameter(StandingInstructionApiConstants.instructionTypeParamName) + .value(standingInstructionType).notNull().inMinMaxRange(1, 2); + } + + if (this.fromApiJsonHelper.parameterExists(StandingInstructionApiConstants.recurrenceTypeParamName, element)) { + final Integer recurrenceType = this.fromApiJsonHelper.extractIntegerNamed( + StandingInstructionApiConstants.recurrenceTypeParamName, element, Locale.getDefault()); + baseDataValidator.reset().parameter(StandingInstructionApiConstants.recurrenceTypeParamName) + .value(recurrenceType).notNull().inMinMaxRange(1, 2); + } + + if (this.fromApiJsonHelper.parameterExists(StandingInstructionApiConstants.recurrenceFrequencyParamName, + element)) { + final Integer recurrenceFrequency = this.fromApiJsonHelper.extractIntegerNamed( + StandingInstructionApiConstants.recurrenceFrequencyParamName, element, Locale.getDefault()); + baseDataValidator.reset().parameter(StandingInstructionApiConstants.recurrenceFrequencyParamName) + .value(recurrenceFrequency).inMinMaxRange(0, 3); + } + + if (this.fromApiJsonHelper.parameterExists(StandingInstructionApiConstants.recurrenceIntervalParamName, + element)) { + final Integer recurrenceInterval = this.fromApiJsonHelper.extractIntegerNamed( + StandingInstructionApiConstants.recurrenceIntervalParamName, element, Locale.getDefault()); + baseDataValidator.reset().parameter(StandingInstructionApiConstants.recurrenceIntervalParamName) + .value(recurrenceInterval).integerGreaterThanZero(); + } + + if (this.fromApiJsonHelper.parameterExists(StandingInstructionApiConstants.nameParamName, element)) { + final String name = this.fromApiJsonHelper.extractStringNamed(StandingInstructionApiConstants.nameParamName, + element); + baseDataValidator.reset().parameter(StandingInstructionApiConstants.nameParamName).value(name).notNull(); + } throwExceptionIfValidationWarningsExist(dataValidationErrors); } http://git-wip-us.apache.org/repos/asf/fineract/blob/50048151/fineract-provider/src/main/java/org/apache/fineract/portfolio/accounts/constants/ShareAccountApiConstants.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/accounts/constants/ShareAccountApiConstants.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/accounts/constants/ShareAccountApiConstants.java index bbfe50e..7ab98a1 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/accounts/constants/ShareAccountApiConstants.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/accounts/constants/ShareAccountApiConstants.java @@ -104,11 +104,4 @@ public interface ShareAccountApiConstants { allowdividendcalculationforinactiveclients_paramname, charges_paramname, applicationdate_param, purchaseddate_paramname,numberofshares_paramname,purchasedprice_paramname)); - Set<String> approvalParameters = new HashSet<>(Arrays.asList(locale_paramname, dateformat_paramname, approveddate_paramname, note_paramname)); - - Set<String> activateParameters = new HashSet<>(Arrays.asList(locale_paramname, dateformat_paramname, activatedate_paramname)); - - Set<String> closeParameters = new HashSet<>(Arrays.asList(locale_paramname, dateformat_paramname, closeddate_paramname, note_paramname)); - - Set<String> addtionalSharesParameters = new HashSet<>(Arrays.asList(locale_paramname, requesteddate_paramname, requestedshares_paramname, purchasedprice_paramname, dateformat_paramname)); } http://git-wip-us.apache.org/repos/asf/fineract/blob/50048151/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/api/ClientApiConstants.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/api/ClientApiConstants.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/api/ClientApiConstants.java index bae61d5..b4d248c 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/api/ClientApiConstants.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/api/ClientApiConstants.java @@ -180,33 +180,14 @@ public class ClientApiConstants { public static final String datatables = "datatables"; - public static final Set<String> CLIENT_CREATE_REQUEST_DATA_PARAMETERS = new HashSet<>( - Arrays.asList(address,localeParamName, dateFormatParamName, groupIdParamName, accountNoParamName, externalIdParamName, - mobileNoParamName, firstnameParamName, middlenameParamName, lastnameParamName, fullnameParamName, officeIdParamName, - activeParamName, activationDateParamName, staffIdParamName, submittedOnDateParamName, savingsProductIdParamName, - dateOfBirthParamName, genderIdParamName, clientTypeIdParamName, clientClassificationIdParamName, - clientNonPersonDetailsParamName, displaynameParamName, legalFormIdParamName, datatables, isStaffParamName)); - - public static final Set<String> CLIENT_NON_PERSON_CREATE_REQUEST_DATA_PARAMETERS = new HashSet<>( - Arrays.asList(address,localeParamName, dateFormatParamName, incorpNumberParamName, remarksParamName, incorpValidityTillParamName, - constitutionIdParamName, mainBusinessLineIdParamName, datatables)); - - public static final Set<String> CLIENT_UPDATE_REQUEST_DATA_PARAMETERS = new HashSet<>(Arrays.asList(localeParamName, - dateFormatParamName, accountNoParamName, externalIdParamName, mobileNoParamName, firstnameParamName, middlenameParamName, - - lastnameParamName, fullnameParamName, activeParamName, activationDateParamName, staffIdParamName, savingsProductIdParamName, - dateOfBirthParamName, genderIdParamName, clientTypeIdParamName, clientClassificationIdParamName, submittedOnDateParamName, clientNonPersonDetailsParamName, displaynameParamName, legalFormIdParamName, isStaffParamName)); - - public static final Set<String> CLIENT_NON_PERSON_UPDATE_REQUEST_DATA_PARAMETERS = new HashSet<>(Arrays.asList(localeParamName, - dateFormatParamName, incorpNumberParamName, remarksParamName, incorpValidityTillParamName, - constitutionIdParamName, mainBusinessLineIdParamName)); /** * These parameters will match the class level parameters of * {@link ClientData}. Where possible, we try to get response parameters to * match those of request parameters. */ - public static final Set<String> CLIENT_RESPONSE_DATA_PARAMETERS = new HashSet<>(Arrays.asList(idParamName, accountNoParamName, + protected static final Set<String> CLIENT_RESPONSE_DATA_PARAMETERS = new HashSet<>(Arrays.asList(idParamName, + accountNoParamName, externalIdParamName, statusParamName, activeParamName, activationDateParamName, firstnameParamName, middlenameParamName, lastnameParamName, fullnameParamName, displayNameParamName, mobileNoParamName, officeIdParamName, officeNameParamName, transferToOfficeIdParamName, transferToOfficeNameParamName, hierarchyParamName, imageIdParamName, imagePresentParamName, @@ -214,39 +195,14 @@ public class ClientApiConstants { dateOfBirthParamName, genderParamName, clientTypeParamName, clientClassificationParamName, legalFormParamName, clientNonPersonDetailsParamName, isStaffParamName)); - public static final Set<String> ACTIVATION_REQUEST_DATA_PARAMETERS = new HashSet<>( - Arrays.asList(localeParamName, dateFormatParamName, activationDateParamName)); - public static final Set<String> REACTIVATION_REQUEST_DATA_PARAMETERS = new HashSet<>( - Arrays.asList(localeParamName, dateFormatParamName, reactivationDateParamName)); - - public static final Set<String> CLIENT_CLOSE_REQUEST_DATA_PARAMETERS = new HashSet<>( - Arrays.asList(localeParamName, dateFormatParamName, closureDateParamName, closureReasonIdParamName)); - - public static final Set<String> CLIENT_REJECT_DATA_PARAMETERS = new HashSet<>( - Arrays.asList(localeParamName, dateFormatParamName, rejectionDateParamName, rejectionReasonIdParamName)); - - public static final Set<String> CLIENT_WITHDRAW_DATA_PARAMETERS = new HashSet<>( - Arrays.asList(localeParamName, dateFormatParamName, withdrawalDateParamName, withdrawalReasonIdParamName)); - - public static final Set<String> UNDOREJECTION_REQUEST_DATA_PARAMETERS = new HashSet<>( - Arrays.asList(localeParamName, dateFormatParamName, reopenedDateParamName)); - - public static final Set<String> UNDOWITHDRAWN_REQUEST_DATA_PARAMETERS = new HashSet<>( - Arrays.asList(localeParamName, dateFormatParamName, reopenedDateParamName)); - - public static final Set<String> CLIENT_CHARGES_RESPONSE_DATA_PARAMETERS = new HashSet<>(Arrays.asList(chargeIdParamName, + protected static final Set<String> CLIENT_CHARGES_RESPONSE_DATA_PARAMETERS = new HashSet<>(Arrays.asList + (chargeIdParamName, clientIdParamName, chargeNameParamName, penaltyParamName, chargeTimeTypeParamName, dueAsOfDateParamName, chargeCalculationTypeParamName, currencyParamName, amountWaivedParamName, amountWrittenOffParamName, amountOutstandingParamName, amountOrPercentageParamName, amountParamName, amountPaidParamName, chargeOptionsParamName, transactionsParamName)); - public static final Set<String> CLIENT_CHARGES_ADD_REQUEST_DATA_PARAMETERS = new HashSet<>( - Arrays.asList(chargeIdParamName, amountParamName, dueAsOfDateParamName, dateFormatParamName, localeParamName)); - - public static final Set<String> CLIENT_CHARGES_PAY_CHARGE_REQUEST_DATA_PARAMETERS = new HashSet<>(Arrays.asList(amountParamName, - transactionDateParamName, dateFormatParamName, localeParamName, paymentTypeIdParamName, transactionAccountNumberParamName, - checkNumberParamName, routingCodeParamName, receiptNumberParamName, bankNumberParamName)); - - public static final Set<String> CLIENT_TRANSACTION_RESPONSE_DATA_PARAMETERS = new HashSet<>(Arrays.asList(idParamName, + protected static final Set<String> CLIENT_TRANSACTION_RESPONSE_DATA_PARAMETERS = new HashSet<>(Arrays.asList + (idParamName, transactionAmountParamName, paymentDetailDataParamName, reversedParamName, dateParamName, officeIdParamName, officeNameParamName, transactionTypeParamName, transactionCurrencyParamName, externalIdParamName, submittedOnDateParamName)); http://git-wip-us.apache.org/repos/asf/fineract/blob/50048151/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/data/ClientApiCollectionConstants.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/data/ClientApiCollectionConstants.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/data/ClientApiCollectionConstants.java new file mode 100644 index 0000000..bf60ba8 --- /dev/null +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/data/ClientApiCollectionConstants.java @@ -0,0 +1,86 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.fineract.portfolio.client.data; + +import org.apache.fineract.portfolio.client.api.ClientApiConstants; + +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + + +public class ClientApiCollectionConstants extends ClientApiConstants{ + + protected static final Set<String> CLIENT_CREATE_REQUEST_DATA_PARAMETERS = new HashSet<>( + Arrays.asList(address,localeParamName, dateFormatParamName, groupIdParamName, accountNoParamName, externalIdParamName, + mobileNoParamName, firstnameParamName, middlenameParamName, lastnameParamName, fullnameParamName, officeIdParamName, + activeParamName, activationDateParamName, staffIdParamName, submittedOnDateParamName, savingsProductIdParamName, + dateOfBirthParamName, genderIdParamName, clientTypeIdParamName, clientClassificationIdParamName, + clientNonPersonDetailsParamName, displaynameParamName, legalFormIdParamName, datatables, isStaffParamName)); + + protected static final Set<String> CLIENT_NON_PERSON_CREATE_REQUEST_DATA_PARAMETERS = new HashSet<>( + Arrays.asList(address,localeParamName, dateFormatParamName, incorpNumberParamName, remarksParamName, incorpValidityTillParamName, + constitutionIdParamName, mainBusinessLineIdParamName, datatables)); + + protected static final Set<String> CLIENT_UPDATE_REQUEST_DATA_PARAMETERS = new HashSet<>(Arrays.asList(localeParamName, + dateFormatParamName, accountNoParamName, externalIdParamName, mobileNoParamName, firstnameParamName, middlenameParamName, + + lastnameParamName, fullnameParamName, activeParamName, activationDateParamName, staffIdParamName, savingsProductIdParamName, + dateOfBirthParamName, genderIdParamName, clientTypeIdParamName, clientClassificationIdParamName, submittedOnDateParamName, clientNonPersonDetailsParamName, displaynameParamName, legalFormIdParamName, isStaffParamName)); + + protected static final Set<String> CLIENT_NON_PERSON_UPDATE_REQUEST_DATA_PARAMETERS = new HashSet<>(Arrays.asList(localeParamName, + dateFormatParamName, incorpNumberParamName, remarksParamName, incorpValidityTillParamName, + constitutionIdParamName, mainBusinessLineIdParamName)); + + + /** + * These parameters will match the class level parameters of + * {@link ClientData}. Where possible, we try to get response parameters to + * match those of request parameters. + */ + + protected static final Set<String> ACTIVATION_REQUEST_DATA_PARAMETERS = new HashSet<>( + Arrays.asList(localeParamName, dateFormatParamName, activationDateParamName)); + protected static final Set<String> REACTIVATION_REQUEST_DATA_PARAMETERS = new HashSet<>( + Arrays.asList(localeParamName, dateFormatParamName, reactivationDateParamName)); + + protected static final Set<String> CLIENT_CLOSE_REQUEST_DATA_PARAMETERS = new HashSet<>( + Arrays.asList(localeParamName, dateFormatParamName, closureDateParamName, closureReasonIdParamName)); + + protected static final Set<String> CLIENT_REJECT_DATA_PARAMETERS = new HashSet<>( + Arrays.asList(localeParamName, dateFormatParamName, rejectionDateParamName, rejectionReasonIdParamName)); + + protected static final Set<String> CLIENT_WITHDRAW_DATA_PARAMETERS = new HashSet<>( + Arrays.asList(localeParamName, dateFormatParamName, withdrawalDateParamName, withdrawalReasonIdParamName)); + + protected static final Set<String> UNDOREJECTION_REQUEST_DATA_PARAMETERS = new HashSet<>( + Arrays.asList(localeParamName, dateFormatParamName, reopenedDateParamName)); + + protected static final Set<String> UNDOWITHDRAWN_REQUEST_DATA_PARAMETERS = new HashSet<>( + Arrays.asList(localeParamName, dateFormatParamName, reopenedDateParamName)); + + protected static final Set<String> CLIENT_CHARGES_ADD_REQUEST_DATA_PARAMETERS = new HashSet<>( + Arrays.asList(chargeIdParamName, amountParamName, dueAsOfDateParamName, dateFormatParamName, localeParamName)); + + protected static final Set<String> CLIENT_CHARGES_PAY_CHARGE_REQUEST_DATA_PARAMETERS = new HashSet<>(Arrays.asList(amountParamName, + transactionDateParamName, dateFormatParamName, localeParamName, paymentTypeIdParamName, transactionAccountNumberParamName, + checkNumberParamName, routingCodeParamName, receiptNumberParamName, bankNumberParamName)); + + +} http://git-wip-us.apache.org/repos/asf/fineract/blob/50048151/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/data/ClientChargeDataValidator.java ---------------------------------------------------------------------- diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/data/ClientChargeDataValidator.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/data/ClientChargeDataValidator.java index 9310c76..6bd87d2 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/data/ClientChargeDataValidator.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/data/ClientChargeDataValidator.java @@ -53,7 +53,7 @@ public class ClientChargeDataValidator { final Type typeOfMap = new TypeToken<Map<String, Object>>() {}.getType(); this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, - ClientApiConstants.CLIENT_CHARGES_ADD_REQUEST_DATA_PARAMETERS); + ClientApiCollectionConstants.CLIENT_CHARGES_ADD_REQUEST_DATA_PARAMETERS); final List<ApiParameterError> dataValidationErrors = new ArrayList<>(); final DataValidatorBuilder baseDataValidator = new DataValidatorBuilder(dataValidationErrors) @@ -75,7 +75,7 @@ public class ClientChargeDataValidator { final Type typeOfMap = new TypeToken<Map<String, Object>>() {}.getType(); this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, - ClientApiConstants.CLIENT_CHARGES_ADD_REQUEST_DATA_PARAMETERS); + ClientApiCollectionConstants.CLIENT_CHARGES_ADD_REQUEST_DATA_PARAMETERS); final List<ApiParameterError> dataValidationErrors = new ArrayList<>(); final DataValidatorBuilder baseDataValidator = new DataValidatorBuilder(dataValidationErrors) @@ -100,7 +100,7 @@ public class ClientChargeDataValidator { final Type typeOfMap = new TypeToken<Map<String, Object>>() {}.getType(); this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, - ClientApiConstants.CLIENT_CHARGES_PAY_CHARGE_REQUEST_DATA_PARAMETERS); + ClientApiCollectionConstants.CLIENT_CHARGES_PAY_CHARGE_REQUEST_DATA_PARAMETERS); final List<ApiParameterError> dataValidationErrors = new ArrayList<>(); final DataValidatorBuilder baseDataValidator = new DataValidatorBuilder(dataValidationErrors)
