diff --git a/fineract-provider/src/main/java/org/apache/fineract/accounting/accrual/serialization/AccrualAccountingDataValidator.java b/fineract-provider/src/main/java/org/apache/fineract/accounting/accrual/serialization/AccrualAccountingDataValidator.java index 659380e612..e3f48c7fe0 100755 --- a/fineract-provider/src/main/java/org/apache/fineract/accounting/accrual/serialization/AccrualAccountingDataValidator.java +++ b/fineract-provider/src/main/java/org/apache/fineract/accounting/accrual/serialization/AccrualAccountingDataValidator.java @@ -28,6 +28,7 @@ import java.util.Map; import org.apache.commons.lang.StringUtils; +import org.apache.fineract.accounting.accrual.api.AccrualAccountingConstants; import org.apache.fineract.infrastructure.core.data.ApiParameterError; import org.apache.fineract.infrastructure.core.data.DataValidatorBuilder; import org.apache.fineract.infrastructure.core.exception.InvalidJsonException; diff --git a/fineract-provider/src/main/java/org/apache/fineract/accounting/financialactivityaccount/api/FinancialActivityAccountsConstants.java b/fineract-provider/src/main/java/org/apache/fineract/accounting/financialactivityaccount/api/FinancialActivityAccountsConstants.java index 5f59759cf2..418d0d4001 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/accounting/financialactivityaccount/api/FinancialActivityAccountsConstants.java +++ b/fineract-provider/src/main/java/org/apache/fineract/accounting/financialactivityaccount/api/FinancialActivityAccountsConstants.java @@ -23,9 +23,13 @@ import java.util.Set; public class FinancialActivityAccountsConstants { - - public static final Set RESPONSE_DATA_PARAMETERS = new HashSet<>(Arrays.asList("id", "financialActivityData", - "glAccountData", "glAccountOptions", "financialActivityOptions")); - + private static final String idParamName = "id"; + private static final String factivityDataParamName = "financialActivityData"; + private static final String glAccountDataParamName = "glAccountData"; + private static final String glAccountOptionsParamName = "glAccountOptions"; + private static final String financialActivityOptionsParamName = "financialActivityOptions"; public static final String resourceNameForPermission = "FINANCIALACTIVITYACCOUNT"; + protected static final Set RESPONSE_DATA_PARAMETERS = new HashSet<>( + Arrays.asList(idParamName, factivityDataParamName, glAccountDataParamName, glAccountOptionsParamName, + financialActivityOptionsParamName)); } diff --git a/fineract-provider/src/main/java/org/apache/fineract/accounting/journalentry/data/JournalEntryDataValidator.java b/fineract-provider/src/main/java/org/apache/fineract/accounting/journalentry/data/JournalEntryDataValidator.java index 240ca9b823..a97b39382c 100755 --- a/fineract-provider/src/main/java/org/apache/fineract/accounting/journalentry/data/JournalEntryDataValidator.java +++ b/fineract-provider/src/main/java/org/apache/fineract/accounting/journalentry/data/JournalEntryDataValidator.java @@ -42,7 +42,7 @@ public class JournalEntryDataValidator { private final FromJsonHelper fromApiJsonHelper; - public static final Set RUNNING_BALANCE_UPDATE_REQUEST_DATA_PARAMETERS = new HashSet<>( + private final Set RUNNING_BALANCE_UPDATE_REQUEST_DATA_PARAMETERS = new HashSet<>( Arrays.asList(JournalEntryJsonInputParams.OFFICE_ID.getValue())); @Autowired 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 f5a2b06b31..69cfec4c71 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 @@ -31,12 +31,16 @@ public interface ProvisioningEntriesApiConstants { public final static String JSON_LOCALE_PARAM = "locale" ; public final static String JSON_CREATEJOURNALENTRIES_PARAM = "createjournalentries" ; + + public final static String PROVISIONINGENTRY_PARAM = "provisioningentry"; + + public final static String ENTRIES_PARAM = "entries"; - Set supportedParameters = new HashSet<>(Arrays.asList(JSON_DATE_PARAM, JSON_DATEFORMAT_PARAM,JSON_LOCALE_PARAM, - JSON_CREATEJOURNALENTRIES_PARAM)); + Set supportedParameters = new HashSet<>( + Arrays.asList(JSON_DATE_PARAM, JSON_DATEFORMAT_PARAM, JSON_LOCALE_PARAM, JSON_CREATEJOURNALENTRIES_PARAM)); - Set PROVISIONING_ENTRY_PARAMETERS = new HashSet<>(Arrays.asList("provisioningentry", "entries")); + Set PROVISIONING_ENTRY_PARAMETERS = new HashSet<>(Arrays.asList(PROVISIONINGENTRY_PARAM, ENTRIES_PARAM)); - Set ALL_PROVISIONING_ENTRIES = new HashSet<>(Arrays.asList("provisioningentry")); + Set ALL_PROVISIONING_ENTRIES = new HashSet<>(Arrays.asList(PROVISIONINGENTRY_PARAM)); } diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/sms/serialization/SmsCampaignValidator.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/sms/serialization/SmsCampaignValidator.java index 50339a02b5..dcc9a77c33 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/sms/serialization/SmsCampaignValidator.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/sms/serialization/SmsCampaignValidator.java @@ -70,22 +70,26 @@ public class SmsCampaignValidator { private final FromJsonHelper fromApiJsonHelper; - public static final Set supportedParams = new HashSet<>(Arrays.asList(campaignName, campaignType, localeParamName, + protected static final Set supportedParams = new HashSet<>(Arrays.asList(campaignName, campaignType, + localeParamName, dateFormatParamName, runReportId, paramValue, message, recurrenceStartDate, activationDateParamName, submittedOnDateParamName, closureDateParamName, recurrenceParamName, providerId, triggerType, frequencyParamName, intervalParamName, repeatsOnDayParamName, triggerEntityType, triggerActionType, dateTimeFormat)); - public static final Set supportedParamsForUpdate = new HashSet<>(Arrays.asList(campaignName, campaignType, localeParamName, + protected static final Set supportedParamsForUpdate = new HashSet<>(Arrays.asList(campaignName, campaignType, + localeParamName, dateFormatParamName, runReportId, paramValue, message, recurrenceStartDate, activationDateParamName, recurrenceParamName, providerId, triggerType, triggerEntityType, triggerActionType, dateTimeFormat)); - public static final Set ACTIVATION_REQUEST_DATA_PARAMETERS = new HashSet<>(Arrays.asList(localeParamName, dateFormatParamName, + protected static final Set ACTIVATION_REQUEST_DATA_PARAMETERS = new HashSet<>(Arrays.asList(localeParamName, + dateFormatParamName, activationDateParamName)); - public static final Set CLOSE_REQUEST_DATA_PARAMETERS = new HashSet<>(Arrays.asList(localeParamName, dateFormatParamName, + protected static final Set CLOSE_REQUEST_DATA_PARAMETERS = new HashSet<>(Arrays.asList(localeParamName, + dateFormatParamName, closureDateParamName)); - public static final Set PREVIEW_REQUEST_DATA_PARAMETERS = new HashSet<>(Arrays.asList(paramValue, message)); + protected static final Set PREVIEW_REQUEST_DATA_PARAMETERS = new HashSet<>(Arrays.asList(paramValue, message)); @Autowired public SmsCampaignValidator(FromJsonHelper fromApiJsonHelper) { diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/configuration/api/ExternalServiceConfigurationApiConstant.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/configuration/api/ExternalServiceConfigurationApiConstant.java index f4a3af6ac9..f517fbb12e 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/configuration/api/ExternalServiceConfigurationApiConstant.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/configuration/api/ExternalServiceConfigurationApiConstant.java @@ -28,5 +28,6 @@ public class ExternalServiceConfigurationApiConstant { public static final String VALUE = "value"; public static final String EXTERNAL_SERVICE_RESOURCE_NAME = "externalServiceConfiguration"; - public static final Set EXTERNAL_SERVICE_CONFIGURATION_DATA_PARAMETERS = new HashSet<>(Arrays.asList(NAME, VALUE)); + protected static final Set EXTERNAL_SERVICE_CONFIGURATION_DATA_PARAMETERS = new HashSet<>(Arrays.asList + (NAME, VALUE)); } diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/configuration/api/GlobalConfigurationApiConstant.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/configuration/api/GlobalConfigurationApiConstant.java index b1a12fec1f..3fe0bd2702 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/configuration/api/GlobalConfigurationApiConstant.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/configuration/api/GlobalConfigurationApiConstant.java @@ -32,7 +32,4 @@ public class GlobalConfigurationApiConstant { public static final String localeParamName = "locale"; public static final String dateFormatParamName = "dateFormat"; - public static final Set UPDATE_CONFIGURATION_DATA_PARAMETERS = new HashSet<>(Arrays.asList(localeParamName, dateFormatParamName, - ENABLED, VALUE, DATE_VALUE)); - } diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/configuration/data/GlobalConfigurationDataValidator.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/configuration/data/GlobalConfigurationDataValidator.java index 15376b5a89..500ffc1707 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/configuration/data/GlobalConfigurationDataValidator.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/configuration/data/GlobalConfigurationDataValidator.java @@ -18,16 +18,13 @@ */ package org.apache.fineract.infrastructure.configuration.data; -import static org.apache.fineract.infrastructure.configuration.api.GlobalConfigurationApiConstant.CONFIGURATION_RESOURCE_NAME; -import static org.apache.fineract.infrastructure.configuration.api.GlobalConfigurationApiConstant.ENABLED; -import static org.apache.fineract.infrastructure.configuration.api.GlobalConfigurationApiConstant.UPDATE_CONFIGURATION_DATA_PARAMETERS; -import static org.apache.fineract.infrastructure.configuration.api.GlobalConfigurationApiConstant.VALUE; -import static org.apache.fineract.infrastructure.configuration.api.GlobalConfigurationApiConstant.DATE_VALUE; - 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.joda.time.LocalDate; @@ -36,6 +33,7 @@ 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.configuration.api.GlobalConfigurationApiConstant; import org.apache.fineract.infrastructure.core.serialization.FromJsonHelper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -47,6 +45,10 @@ public class GlobalConfigurationDataValidator { private final FromJsonHelper fromApiJsonHelper; + private static final Set UPDATE_CONFIGURATION_DATA_PARAMETERS = new HashSet<>( + Arrays.asList(GlobalConfigurationApiConstant.localeParamName, + GlobalConfigurationApiConstant.dateFormatParamName, GlobalConfigurationApiConstant.ENABLED, + GlobalConfigurationApiConstant.VALUE, GlobalConfigurationApiConstant.DATE_VALUE)); @Autowired public GlobalConfigurationDataValidator(final FromJsonHelper fromApiJsonHelper) { @@ -61,23 +63,29 @@ public void validateForUpdate(final JsonCommand command) { this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, UPDATE_CONFIGURATION_DATA_PARAMETERS); final List dataValidationErrors = new ArrayList<>(); - final DataValidatorBuilder baseDataValidator = new DataValidatorBuilder(dataValidationErrors).resource(CONFIGURATION_RESOURCE_NAME); + final DataValidatorBuilder baseDataValidator = new DataValidatorBuilder(dataValidationErrors) + .resource(GlobalConfigurationApiConstant.CONFIGURATION_RESOURCE_NAME); final JsonElement element = this.fromApiJsonHelper.parse(json); - if (this.fromApiJsonHelper.parameterExists(ENABLED, element)) { - final boolean enabledBool = this.fromApiJsonHelper.extractBooleanNamed(ENABLED, element); - baseDataValidator.reset().parameter(ENABLED).value(enabledBool).validateForBooleanValue(); - } + if (this.fromApiJsonHelper.parameterExists(GlobalConfigurationApiConstant.ENABLED, element)) { + final boolean enabledBool = this.fromApiJsonHelper + .extractBooleanNamed(GlobalConfigurationApiConstant.ENABLED, element); + baseDataValidator.reset().parameter(GlobalConfigurationApiConstant.ENABLED).value(enabledBool) + .validateForBooleanValue(); + } - if (this.fromApiJsonHelper.parameterExists(VALUE, element)) { - final Long valueStr = this.fromApiJsonHelper.extractLongNamed(VALUE, element); - baseDataValidator.reset().parameter(ENABLED).value(valueStr).zeroOrPositiveAmount(); - } + if (this.fromApiJsonHelper.parameterExists(GlobalConfigurationApiConstant.VALUE, element)) { + final Long valueStr = this.fromApiJsonHelper.extractLongNamed(GlobalConfigurationApiConstant.VALUE, + element); + baseDataValidator.reset().parameter(GlobalConfigurationApiConstant.ENABLED).value(valueStr) + .zeroOrPositiveAmount(); + } - if (this.fromApiJsonHelper.parameterExists(DATE_VALUE, element)) { - final LocalDate dateValue = this.fromApiJsonHelper.extractLocalDateNamed(DATE_VALUE, element); - baseDataValidator.reset().parameter(DATE_VALUE).value(dateValue).notNull(); - } + if (this.fromApiJsonHelper.parameterExists(GlobalConfigurationApiConstant.DATE_VALUE, element)) { + final LocalDate dateValue = this.fromApiJsonHelper + .extractLocalDateNamed(GlobalConfigurationApiConstant.DATE_VALUE, element); + baseDataValidator.reset().parameter(GlobalConfigurationApiConstant.DATE_VALUE).value(dateValue).notNull(); + } if (!dataValidationErrors.isEmpty()) { throw new PlatformApiDataValidationException(dataValidationErrors); } diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/data/PaginationParametersDataValidator.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/data/PaginationParametersDataValidator.java index 5c23f55288..c1edb48dae 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/data/PaginationParametersDataValidator.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/data/PaginationParametersDataValidator.java @@ -30,7 +30,7 @@ @Component public class PaginationParametersDataValidator { - public static Set sortOrderValues = new HashSet<>(Arrays.asList("ASC", "DESC")); + private final Set sortOrderValues = new HashSet<>(Arrays.asList("ASC", "DESC")); public void validateParameterValues(PaginationParameters parameters, final Set supportedOrdeByValues, final String resourceName) { diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/api/DataTableApiConstant.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/api/DataTableApiConstant.java index 4b7958c974..e6295014c1 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/api/DataTableApiConstant.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/api/DataTableApiConstant.java @@ -32,8 +32,6 @@ public class DataTableApiConstant { public static final String categoryParamName ="category"; public static final String localParamName = "locale"; - public static final Set REGISTER_PARAMS = new HashSet<>(Arrays.asList(categoryParamName,localParamName)); - public static final String DATATABLE_RESOURCE_NAME ="dataTables"; } diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/DataTableValidator.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/DataTableValidator.java index f8172db07c..f26a722fcb 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/DataTableValidator.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/DataTableValidator.java @@ -18,20 +18,18 @@ */ package org.apache.fineract.infrastructure.dataqueries.data; -import static org.apache.fineract.infrastructure.dataqueries.api.DataTableApiConstant.CATEGORY_DEFAULT; -import static org.apache.fineract.infrastructure.dataqueries.api.DataTableApiConstant.CATEGORY_PPI; -import static org.apache.fineract.infrastructure.dataqueries.api.DataTableApiConstant.DATATABLE_RESOURCE_NAME; -import static org.apache.fineract.infrastructure.dataqueries.api.DataTableApiConstant.REGISTER_PARAMS; -import static org.apache.fineract.infrastructure.dataqueries.api.DataTableApiConstant.categoryParamName; - 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.fineract.infrastructure.core.data.ApiParameterError; import org.apache.fineract.infrastructure.core.data.DataValidatorBuilder; import org.apache.fineract.infrastructure.core.exception.PlatformApiDataValidationException; +import org.apache.fineract.infrastructure.dataqueries.api.DataTableApiConstant; import org.apache.fineract.infrastructure.core.serialization.FromJsonHelper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -43,6 +41,8 @@ public class DataTableValidator { private final FromJsonHelper fromApiJsonHelper; + private final Set REGISTER_PARAMS = new HashSet<>( + Arrays.asList(DataTableApiConstant.categoryParamName, DataTableApiConstant.localParamName)); @Autowired public DataTableValidator(final FromJsonHelper fromApiJsonHelper) { @@ -55,14 +55,14 @@ public void validateDataTableRegistration(final String json) { this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, REGISTER_PARAMS); final List dataValidationErrors = new ArrayList<>(); - final DataValidatorBuilder baseDataValidator = new DataValidatorBuilder(dataValidationErrors).resource(DATATABLE_RESOURCE_NAME); + final DataValidatorBuilder baseDataValidator = new DataValidatorBuilder(dataValidationErrors).resource(DataTableApiConstant.DATATABLE_RESOURCE_NAME); final JsonElement element = this.fromApiJsonHelper.parse(json); - if (this.fromApiJsonHelper.parameterExists(categoryParamName, element)) { + if (this.fromApiJsonHelper.parameterExists(DataTableApiConstant.categoryParamName, element)) { - final Integer category = this.fromApiJsonHelper.extractIntegerWithLocaleNamed(categoryParamName, element); - Object[] objectArray = new Integer[] { CATEGORY_PPI, CATEGORY_DEFAULT }; - baseDataValidator.reset().parameter(categoryParamName).value(category).isOneOfTheseValues(objectArray); + final Integer category = this.fromApiJsonHelper.extractIntegerWithLocaleNamed(DataTableApiConstant.categoryParamName, element); + Object[] objectArray = new Integer[] { DataTableApiConstant.CATEGORY_PPI, DataTableApiConstant.CATEGORY_DEFAULT }; + baseDataValidator.reset().parameter(DataTableApiConstant.categoryParamName).value(category).isOneOfTheseValues(objectArray); } if (!dataValidationErrors.isEmpty()) { throw new PlatformApiDataValidationException(dataValidationErrors); } diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/documentmanagement/contentrepository/ContentRepositoryUtils.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/documentmanagement/contentrepository/ContentRepositoryUtils.java index a455f55503..381577908d 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/documentmanagement/contentrepository/ContentRepositoryUtils.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/documentmanagement/contentrepository/ContentRepositoryUtils.java @@ -32,7 +32,7 @@ public class ContentRepositoryUtils { - public static Random random = new Random(); + private static final Random random = new Random(); public static enum IMAGE_MIME_TYPE { GIF("image/gif"), JPEG("image/jpeg"), PNG("image/png"); diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/entityaccess/api/FineractEntityApiResourceConstants.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/entityaccess/api/FineractEntityApiResourceConstants.java index 4788c5214b..53a54b7166 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/entityaccess/api/FineractEntityApiResourceConstants.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/entityaccess/api/FineractEntityApiResourceConstants.java @@ -41,14 +41,9 @@ public class FineractEntityApiResourceConstants { public static final String ROLE_ACCESS_TO_LOAN_PRODUCTS = " role_access_to_loan_products "; public static final String ROLE_ACCESS_TO_SAVINGS_PRODUCTS = " role_access_to_savings_products "; - public static final Set RESPONSE_DATA_PARAMETERS = new HashSet<>(Arrays.asList(mappingTypes)); + protected static final Set RESPONSE_DATA_PARAMETERS = new HashSet<>(Arrays.asList(mappingTypes)); - public static final Set FETCH_ENTITY_TO_ENTITY_MAPPINGS = new HashSet<>(Arrays.asList(mapId,relId,fromEnityType, toEntityType)); - - public static final Set CREATE_ENTITY_MAPPING_REQUEST_DATA_PARAMETERS = new HashSet<>(Arrays.asList(fromEnityType, - toEntityType, startDate, LOCALE, DATE_FORMAT, endDate)); - - public static final Set UPDATE_ENTITY_MAPPING_REQUEST_DATA_PARAMETERS = new HashSet<>(Arrays.asList(relId,fromEnityType, - toEntityType, startDate,LOCALE, DATE_FORMAT, endDate)); + protected static final Set FETCH_ENTITY_TO_ENTITY_MAPPINGS = new HashSet<>(Arrays.asList(mapId,relId, + fromEnityType, toEntityType)); } diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/entityaccess/data/FineractEntityDataValidator.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/entityaccess/data/FineractEntityDataValidator.java index cc97dd8266..ca9088d108 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/entityaccess/data/FineractEntityDataValidator.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/entityaccess/data/FineractEntityDataValidator.java @@ -20,8 +20,11 @@ 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; @@ -41,6 +44,7 @@ import org.apache.fineract.useradministration.domain.Role; import org.apache.fineract.useradministration.domain.RoleRepository; import org.apache.fineract.useradministration.exception.RoleNotFoundException; +import org.apache.fineract.infrastructure.entityaccess.api.FineractEntityApiResourceConstants; import org.joda.time.LocalDate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -48,6 +52,8 @@ import com.google.gson.JsonElement; import com.google.gson.reflect.TypeToken; + + @Component public class FineractEntityDataValidator { @@ -57,6 +63,16 @@ public class FineractEntityDataValidator { private final SavingsProductRepository savingsProductRepository; private final ChargeRepositoryWrapper chargeRepositoryWrapper; private final RoleRepository roleRepository; + private static final Set CREATE_ENTITY_MAPPING_REQUEST_DATA_PARAMETERS = new HashSet<>(Arrays.asList( + FineractEntityApiResourceConstants.fromEnityType, FineractEntityApiResourceConstants.toEntityType, + FineractEntityApiResourceConstants.startDate, FineractEntityApiResourceConstants.LOCALE, + FineractEntityApiResourceConstants.DATE_FORMAT, FineractEntityApiResourceConstants.endDate)); + + private static final Set UPDATE_ENTITY_MAPPING_REQUEST_DATA_PARAMETERS = new HashSet<>( + Arrays.asList(FineractEntityApiResourceConstants.relId, FineractEntityApiResourceConstants.fromEnityType, + FineractEntityApiResourceConstants.toEntityType, FineractEntityApiResourceConstants.startDate, + FineractEntityApiResourceConstants.LOCALE, FineractEntityApiResourceConstants.DATE_FORMAT, + FineractEntityApiResourceConstants.endDate)); @Autowired public FineractEntityDataValidator(final FromJsonHelper fromApiJsonHelper, final OfficeRepositoryWrapper officeRepositoryWrapper, @@ -75,8 +91,8 @@ public void validateForCreate(final String json) { if (StringUtils.isBlank(json)) { throw new InvalidJsonException(); } final Type typeOfMap = new TypeToken>() {}.getType(); - this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, - FineractEntityApiResourceConstants.CREATE_ENTITY_MAPPING_REQUEST_DATA_PARAMETERS); + this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, + CREATE_ENTITY_MAPPING_REQUEST_DATA_PARAMETERS); final JsonElement element = this.fromApiJsonHelper.parse(json); final List dataValidationErrors = new ArrayList<>(); @@ -172,8 +188,8 @@ public void validateForUpdate(final String json) { if (StringUtils.isBlank(json)) { throw new InvalidJsonException(); } final Type typeOfMap = new TypeToken>() {}.getType(); - this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, - FineractEntityApiResourceConstants.UPDATE_ENTITY_MAPPING_REQUEST_DATA_PARAMETERS); + this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, + UPDATE_ENTITY_MAPPING_REQUEST_DATA_PARAMETERS); final JsonElement element = this.fromApiJsonHelper.parse(json); final List dataValidationErrors = new ArrayList<>(); diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/api/HookApiConstants.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/api/HookApiConstants.java index 96d53d818f..3a96a7aa43 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/api/HookApiConstants.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/api/HookApiConstants.java @@ -62,12 +62,12 @@ public class HookApiConstants { public static final String templateNameParamName = "templateName"; - public static final Set RESPONSE_DATA_PARAMETERS = new HashSet<>( + protected static final Set RESPONSE_DATA_PARAMETERS = new HashSet<>( Arrays.asList(nameParamName, displayNameParamName, templateIdParamName, isActiveParamName, configParamName, eventsParamName, templateNameParamName)); - public static final Set UPDATE_REQUEST_DATA_PARAMETERS = new HashSet<>( + protected static final Set UPDATE_REQUEST_DATA_PARAMETERS = new HashSet<>( Arrays.asList(nameParamName, displayNameParamName, templateIdParamName, isActiveParamName, configParamName, eventsParamName, templateNameParamName)); diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/jobs/api/SchedulerJobApiConstants.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/jobs/api/SchedulerJobApiConstants.java index e6683b5833..eeb9a3a7a4 100755 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/jobs/api/SchedulerJobApiConstants.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/jobs/api/SchedulerJobApiConstants.java @@ -45,19 +45,6 @@ public class SchedulerJobApiConstants { public static final String cronExpressionParamName = "cronExpression"; public static final String schedulerStatusParamName = "active"; - public static final Set JOB_DETAIL_RESPONSE_DATA_PARAMETERS = new HashSet<>(Arrays.asList(jobIdentifierParamName, - displayNameParamName, nextRunTimeParamName, initializingErrorParamName, cronExpressionParamName, jobActiveStatusParamName, - currentlyRunningParamName, lastRunHistoryObjParamName)); - - public static final Set JOB_HISTORY_RESPONSE_DATA_PARAMETERS = new HashSet<>(Arrays.asList(versionParamName, - jobRunStartTimeParamName, jobRunEndTimeParamName, statusParamName, jobRunErrorMessageParamName, triggerTypeParamName, - jobRunErrorLogParamName)); - - public static final Set JOB_UPDATE_REQUEST_DATA_PARAMETERS = new HashSet<>(Arrays.asList(displayNameParamName, - jobActiveStatusParamName, cronExpressionParamName)); - - public static final Set SCHEDULER_DETAIL_RESPONSE_DATA_PARAMETERS = new HashSet<>(Arrays.asList(schedulerStatusParamName)); - public static final String COMMAND_EXECUTE_JOB = "executeJob"; public static final String COMMAND_STOP_SCHEDULER = "stop"; public static final String COMMAND_START_SCHEDULER = "start"; @@ -65,4 +52,17 @@ public class SchedulerJobApiConstants { public static final String JOB_ID = "jobId"; public static final String JOB_RUN_HISTORY = "runhistory"; public static final String SCHEDULER_STATUS_PATH = "scheduler"; + + protected static final Set JOB_DETAIL_RESPONSE_DATA_PARAMETERS = new HashSet<>(Arrays.asList + (jobIdentifierParamName, + displayNameParamName, nextRunTimeParamName, initializingErrorParamName, cronExpressionParamName, jobActiveStatusParamName, + currentlyRunningParamName, lastRunHistoryObjParamName)); + + protected static final Set JOB_HISTORY_RESPONSE_DATA_PARAMETERS = new HashSet<>(Arrays.asList + (versionParamName, + jobRunStartTimeParamName, jobRunEndTimeParamName, statusParamName, jobRunErrorMessageParamName, triggerTypeParamName, + jobRunErrorLogParamName)); + + protected static final Set SCHEDULER_DETAIL_RESPONSE_DATA_PARAMETERS = new HashSet<>(Arrays.asList + (schedulerStatusParamName)); } diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/jobs/data/JobDetailDataValidator.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/jobs/data/JobDetailDataValidator.java index bc58c7cba9..77462e0e58 100755 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/jobs/data/JobDetailDataValidator.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/jobs/data/JobDetailDataValidator.java @@ -20,8 +20,11 @@ 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,9 @@ public class JobDetailDataValidator { private final FromJsonHelper fromApiJsonHelper; + private static final Set JOB_UPDATE_REQUEST_DATA_PARAMETERS = new HashSet<>(Arrays.asList( + SchedulerJobApiConstants.displayNameParamName, SchedulerJobApiConstants.jobActiveStatusParamName, + SchedulerJobApiConstants.cronExpressionParamName)); @Autowired public JobDetailDataValidator(final FromJsonHelper fromApiJsonHelper) { @@ -51,7 +57,7 @@ public void validateForUpdate(final String json) { boolean atLeastOneParameterPassedForUpdate = false; final Type typeOfMap = new TypeToken>() {}.getType(); - this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, SchedulerJobApiConstants.JOB_UPDATE_REQUEST_DATA_PARAMETERS); + this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, JOB_UPDATE_REQUEST_DATA_PARAMETERS); final JsonElement element = this.fromApiJsonHelper.parse(json); final List dataValidationErrors = new ArrayList<>(); diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/security/service/SpringSecurityPlatformSecurityContext.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/security/service/SpringSecurityPlatformSecurityContext.java index d878f3d732..3bd93c72a8 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/security/service/SpringSecurityPlatformSecurityContext.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/security/service/SpringSecurityPlatformSecurityContext.java @@ -50,7 +50,7 @@ public class SpringSecurityPlatformSecurityContext implements PlatformSecurityCo private final ConfigurationDomainService configurationDomainService; - public static final List EXEMPT_FROM_PASSWORD_RESET_CHECK = new ArrayList() { + protected static final List EXEMPT_FROM_PASSWORD_RESET_CHECK = new ArrayList() { { add(new CommandWrapperBuilder().updateUser(null).build()); diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/sms/SmsApiConstants.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/sms/SmsApiConstants.java index c55641f0d7..c75b48653f 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/sms/SmsApiConstants.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/sms/SmsApiConstants.java @@ -42,9 +42,4 @@ public class SmsApiConstants { // response parameters public static final String statusParamName = "status"; - public static final Set CREATE_REQUEST_DATA_PARAMETERS = new HashSet<>(Arrays.asList(localeParamName, - dateFormatParamName, groupIdParamName, clientIdParamName, staffIdParamName, messageParamName, campaignIdParamName)); - - public static final Set UPDATE_REQUEST_DATA_PARAMETERS = new HashSet<>(Arrays.asList(messageParamName, campaignIdParamName)); - } \ No newline at end of file diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/sms/data/SmsDataValidator.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/sms/data/SmsDataValidator.java index 99dae7e6ff..698226d391 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/sms/data/SmsDataValidator.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/sms/data/SmsDataValidator.java @@ -20,8 +20,11 @@ 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,13 @@ public final class SmsDataValidator { private final FromJsonHelper fromApiJsonHelper; + private static final Set CREATE_REQUEST_DATA_PARAMETERS = new HashSet<>(Arrays.asList( + SmsApiConstants.localeParamName, SmsApiConstants.dateFormatParamName, SmsApiConstants.groupIdParamName, + SmsApiConstants.clientIdParamName, SmsApiConstants.staffIdParamName, SmsApiConstants.messageParamName, + SmsApiConstants.campaignIdParamName)); + + public static final Set UPDATE_REQUEST_DATA_PARAMETERS = new HashSet<>( + Arrays.asList(SmsApiConstants.messageParamName, SmsApiConstants.campaignIdParamName)); @Autowired public SmsDataValidator(final FromJsonHelper fromApiJsonHelper) { @@ -51,7 +61,7 @@ public void validateForCreate(final String json) { if (StringUtils.isBlank(json)) { throw new InvalidJsonException(); } final Type typeOfMap = new TypeToken>() {}.getType(); - this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, SmsApiConstants.CREATE_REQUEST_DATA_PARAMETERS); + this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, CREATE_REQUEST_DATA_PARAMETERS); final JsonElement element = this.fromApiJsonHelper.parse(json); final List dataValidationErrors = new ArrayList<>(); @@ -115,7 +125,7 @@ public void validateForUpdate(final String json) { if (StringUtils.isBlank(json)) { throw new InvalidJsonException(); } final Type typeOfMap = new TypeToken>() {}.getType(); - this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, SmsApiConstants.UPDATE_REQUEST_DATA_PARAMETERS); + this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, UPDATE_REQUEST_DATA_PARAMETERS); final JsonElement element = this.fromApiJsonHelper.parse(json); final List dataValidationErrors = new ArrayList<>(); diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/survey/api/LikelihoodApiConstants.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/survey/api/LikelihoodApiConstants.java index e7f296fd39..c1d14b7bd6 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/survey/api/LikelihoodApiConstants.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/survey/api/LikelihoodApiConstants.java @@ -30,8 +30,6 @@ public class LikelihoodApiConstants { public static final String LIKELIHOOD_RESOURCE_NAME = "likelihood"; - public static final Set UPDATE_LIKELIHOOD_DATA_PARAMETERS = new HashSet<>(Arrays.asList(ACTIVE)); - - public static final Set VALID_LIKELIHOOD_ENABLED_VALUES = new HashSet<>(Arrays.asList(LikelihoodStatus.DISABLED, - LikelihoodStatus.ENABLED)); + protected static final Set VALID_LIKELIHOOD_ENABLED_VALUES = new HashSet<>( + Arrays.asList(LikelihoodStatus.DISABLED, LikelihoodStatus.ENABLED)); } diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/survey/data/LikelihoodDataValidator.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/survey/data/LikelihoodDataValidator.java index 98120cc6c3..1028d0151c 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/survey/data/LikelihoodDataValidator.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/survey/data/LikelihoodDataValidator.java @@ -33,8 +33,11 @@ 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; /** * Created by Cieyou on 3/12/14. @@ -44,6 +47,8 @@ public class LikelihoodDataValidator { private final FromJsonHelper fromApiJsonHelper; + private static final Set UPDATE_LIKELIHOOD_DATA_PARAMETERS = new HashSet<>( + Arrays.asList(LikelihoodApiConstants.ACTIVE)); @Autowired public LikelihoodDataValidator(final FromJsonHelper fromApiJsonHelper) { @@ -55,7 +60,7 @@ public void validateForUpdate(final JsonCommand command) { if (StringUtils.isBlank(json)) { throw new InvalidJsonException(); } final Type typeOfMap = new TypeToken>() {}.getType(); - this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, LikelihoodApiConstants.UPDATE_LIKELIHOOD_DATA_PARAMETERS); + this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, UPDATE_LIKELIHOOD_DATA_PARAMETERS); final List dataValidationErrors = new ArrayList<>(); final DataValidatorBuilder baseDataValidator = new DataValidatorBuilder(dataValidationErrors).resource(LikelihoodApiConstants.LIKELIHOOD_RESOURCE_NAME); diff --git a/fineract-provider/src/main/resources/sql/migrations/core_db/V325__add_is_staff_client_data.sql b/fineract-provider/src/main/resources/sql/migrations/core_db/V325__add_is_staff_client_data.sql index ef9854bcb0..2d6b3597d1 100644 --- a/fineract-provider/src/main/resources/sql/migrations/core_db/V325__add_is_staff_client_data.sql +++ b/fineract-provider/src/main/resources/sql/migrations/core_db/V325__add_is_staff_client_data.sql @@ -16,5 +16,6 @@ -- specific language governing permissions and limitations -- under the License. -- + ALTER TABLE `m_client` ADD COLUMN `is_staff` TINYINT(1) NOT NULL DEFAULT '0' AFTER `mobile_no`;