Repository: fineract
Updated Branches:
  refs/heads/develop 17ff4b54c -> 0cd1e3965


http://git-wip-us.apache.org/repos/asf/fineract/blob/50048151/fineract-provider/src/main/java/org/apache/fineract/portfolio/search/data/AdHocQuerySearchConstants.java
----------------------------------------------------------------------
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/search/data/AdHocQuerySearchConstants.java
 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/search/data/AdHocQuerySearchConstants.java
index 1e48c67..a895253 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/search/data/AdHocQuerySearchConstants.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/search/data/AdHocQuerySearchConstants.java
@@ -46,18 +46,17 @@ public interface AdHocQuerySearchConstants {
     public static final String maxOutstandingAmountParamName = 
"maxOutstandingAmount";
     public static final String outstandingAmountParamName = 
"outstandingAmount";
 
-    public static final Set<String> 
AD_HOC_SEARCH_QUERY_REQUEST_DATA_PARAMETERS = new 
HashSet<>(Arrays.asList(entitiesParamName, loanStatusParamName,
-            loanProductsParamName, officesParamName, loanDateOptionParamName, 
loanFromDateParamName, loanToDateParamName,
-            includeOutStandingAmountPercentageParamName, 
outStandingAmountPercentageConditionParamName,
-            minOutStandingAmountPercentageParamName, 
maxOutStandingAmountPercentageParamName, outStandingAmountPercentageParamName,
-            includeOutstandingAmountParamName, 
outstandingAmountConditionParamName, minOutstandingAmountParamName,
-            maxOutstandingAmountParamName, outstandingAmountParamName, 
localeParamName, dateFormatParamName));
-
-    public static final Set<String> AD_HOC_SEARCH_QUERY_CONDITIONS = new 
HashSet<>(
-            Arrays.asList("between", "<=", ">=", "<", ">", "="));
-
-    public static final Object[] loanDateOptions = { "approvalDate", 
"createdDate", "disbursalDate" };
+    public static final String approvalDateOption = "approvalDate";
+    public static final String createDateOption = "createdDate";
+    public static final String disbursalDateOption = "disbursalDate";
+
+    public static final String allLoanStatusOption= "all";
+    public static final String activeLoanStatusOption= "active";
+    public static final String overpaidLoanStatusOption= "overpaid";
+    public static final String arrearsLoanStatusOption= "arrears";
+    public static final String closedLoanStatusOption= "closed";
+    public static final String writeoffLoanStatusOption= "writeoff";
+    
     public static final Object[] entityTypeOptions = { "clients", "groups", 
"loans", "clientIdentifiers" };
-    public static final Object[] loanStatusOptions = { "all", "active", 
"overpaid", "arrears", "closed", "writeoff" };
 
 }

http://git-wip-us.apache.org/repos/asf/fineract/blob/50048151/fineract-provider/src/main/java/org/apache/fineract/portfolio/self/account/api/SelfBeneficiariesTPTApiConstants.java
----------------------------------------------------------------------
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/self/account/api/SelfBeneficiariesTPTApiConstants.java
 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/self/account/api/SelfBeneficiariesTPTApiConstants.java
index affe03b..cb1971a 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/self/account/api/SelfBeneficiariesTPTApiConstants.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/self/account/api/SelfBeneficiariesTPTApiConstants.java
@@ -36,18 +36,4 @@ public interface SelfBeneficiariesTPTApiConstants {
        public static final String ID_PARAM_NAME = "id";
        public static final String CLIENT_NAME_PARAM_NAME = "clientName";
        public static final String ACCOUNT_TYPE_OPTIONS_PARAM_NAME = 
"accountTypeOptions";
-
-       public static final Set<String> CREATE_REQUEST_DATA_PARAMETERS = new 
HashSet<>(
-                       Arrays.asList(LOCALE, NAME_PARAM_NAME, 
OFFICE_NAME_PARAM_NAME,
-                                       ACCOUNT_NUMBER_PARAM_NAME, 
ACCOUNT_TYPE_PARAM_NAME,
-                                       TRANSFER_LIMIT_PARAM_NAME));
-
-       public static final Set<String> UPDATE_REQUEST_DATA_PARAMETERS = new 
HashSet<>(
-                       Arrays.asList(NAME_PARAM_NAME, 
TRANSFER_LIMIT_PARAM_NAME));
-
-       public static final Set<String> RESPONSE_DATA_PARAMETERS = new 
HashSet<>(
-                       Arrays.asList(NAME_PARAM_NAME, OFFICE_NAME_PARAM_NAME,
-                                       ACCOUNT_NUMBER_PARAM_NAME, 
ACCOUNT_TYPE_PARAM_NAME,
-                                       TRANSFER_LIMIT_PARAM_NAME, 
ID_PARAM_NAME,
-                                       CLIENT_NAME_PARAM_NAME, 
ACCOUNT_TYPE_OPTIONS_PARAM_NAME));
 }

http://git-wip-us.apache.org/repos/asf/fineract/blob/50048151/fineract-provider/src/main/java/org/apache/fineract/portfolio/self/account/api/SelfBeneficiariesTPTApiResource.java
----------------------------------------------------------------------
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/self/account/api/SelfBeneficiariesTPTApiResource.java
 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/self/account/api/SelfBeneficiariesTPTApiResource.java
index 344d991..5f2ff48 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/self/account/api/SelfBeneficiariesTPTApiResource.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/self/account/api/SelfBeneficiariesTPTApiResource.java
@@ -20,6 +20,8 @@ package org.apache.fineract.portfolio.self.account.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;
@@ -60,6 +62,13 @@ public class SelfBeneficiariesTPTApiResource {
        private final PortfolioCommandSourceWritePlatformService 
commandsSourceWritePlatformService;
        private final ApiRequestParameterHelper apiRequestParameterHelper;
        private final SelfBeneficiariesTPTReadPlatformService 
readPlatformService;
+       private static final Set<String> RESPONSE_DATA_PARAMETERS = new 
HashSet<>(Arrays.asList(
+                       SelfBeneficiariesTPTApiConstants.NAME_PARAM_NAME, 
SelfBeneficiariesTPTApiConstants.OFFICE_NAME_PARAM_NAME,
+                       
SelfBeneficiariesTPTApiConstants.ACCOUNT_NUMBER_PARAM_NAME,
+                       
SelfBeneficiariesTPTApiConstants.ACCOUNT_TYPE_PARAM_NAME,
+                       
SelfBeneficiariesTPTApiConstants.TRANSFER_LIMIT_PARAM_NAME, 
SelfBeneficiariesTPTApiConstants.ID_PARAM_NAME,
+                       SelfBeneficiariesTPTApiConstants.CLIENT_NAME_PARAM_NAME,
+                       
SelfBeneficiariesTPTApiConstants.ACCOUNT_TYPE_OPTIONS_PARAM_NAME));
 
        @Autowired
        public SelfBeneficiariesTPTApiResource(
@@ -94,8 +103,7 @@ public class SelfBeneficiariesTPTApiResource {
 
                final ApiRequestJsonSerializationSettings settings = 
this.apiRequestParameterHelper
                                .process(uriInfo.getQueryParameters());
-               return this.toApiJsonSerializer.serialize(settings, 
templateData,
-                               
SelfBeneficiariesTPTApiConstants.RESPONSE_DATA_PARAMETERS);
+               return this.toApiJsonSerializer.serialize(settings, 
templateData, RESPONSE_DATA_PARAMETERS);
        }
 
        @POST
@@ -154,8 +162,7 @@ public class SelfBeneficiariesTPTApiResource {
 
                final ApiRequestJsonSerializationSettings settings = 
this.apiRequestParameterHelper
                                .process(uriInfo.getQueryParameters());
-               return this.toApiJsonSerializer.serialize(settings, 
beneficiaries,
-                               
SelfBeneficiariesTPTApiConstants.RESPONSE_DATA_PARAMETERS);
+               return this.toApiJsonSerializer.serialize(settings, 
beneficiaries, RESPONSE_DATA_PARAMETERS);
        }
 
 }

http://git-wip-us.apache.org/repos/asf/fineract/blob/50048151/fineract-provider/src/main/java/org/apache/fineract/portfolio/self/account/data/SelfBeneficiariesTPTDataValidator.java
----------------------------------------------------------------------
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/self/account/data/SelfBeneficiariesTPTDataValidator.java
 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/self/account/data/SelfBeneficiariesTPTDataValidator.java
index 2ba2899..2c85923 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/self/account/data/SelfBeneficiariesTPTDataValidator.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/self/account/data/SelfBeneficiariesTPTDataValidator.java
@@ -24,14 +24,15 @@ import static 
org.apache.fineract.portfolio.self.account.api.SelfBeneficiariesTP
 import static 
org.apache.fineract.portfolio.self.account.api.SelfBeneficiariesTPTApiConstants.ACCOUNT_TYPE_PARAM_NAME;
 import static 
org.apache.fineract.portfolio.self.account.api.SelfBeneficiariesTPTApiConstants.ACCOUNT_NUMBER_PARAM_NAME;
 import static 
org.apache.fineract.portfolio.self.account.api.SelfBeneficiariesTPTApiConstants.TRANSFER_LIMIT_PARAM_NAME;
-import static 
org.apache.fineract.portfolio.self.account.api.SelfBeneficiariesTPTApiConstants.CREATE_REQUEST_DATA_PARAMETERS;
-import static 
org.apache.fineract.portfolio.self.account.api.SelfBeneficiariesTPTApiConstants.UPDATE_REQUEST_DATA_PARAMETERS;
 
 import java.lang.reflect.Type;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.HashMap;
+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 +41,7 @@ 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.PortfolioAccountType;
+import 
org.apache.fineract.portfolio.self.account.api.SelfBeneficiariesTPTApiConstants;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -50,6 +52,13 @@ import com.google.gson.reflect.TypeToken;
 public class SelfBeneficiariesTPTDataValidator {
 
        private final FromJsonHelper fromApiJsonHelper;
+       private static final Set<String> CREATE_REQUEST_DATA_PARAMETERS = new 
HashSet<>(
+                       Arrays.asList(SelfBeneficiariesTPTApiConstants.LOCALE, 
NAME_PARAM_NAME, OFFICE_NAME_PARAM_NAME,
+                                       ACCOUNT_NUMBER_PARAM_NAME, 
ACCOUNT_TYPE_PARAM_NAME, TRANSFER_LIMIT_PARAM_NAME));
+
+       private static final Set<String> UPDATE_REQUEST_DATA_PARAMETERS = new 
HashSet<>(
+                       Arrays.asList(NAME_PARAM_NAME, 
TRANSFER_LIMIT_PARAM_NAME));
+
 
        @Autowired
        public SelfBeneficiariesTPTDataValidator(

http://git-wip-us.apache.org/repos/asf/fineract/blob/50048151/fineract-provider/src/main/java/org/apache/fineract/portfolio/shareaccounts/serialization/ShareAccountDataSerializer.java
----------------------------------------------------------------------
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/shareaccounts/serialization/ShareAccountDataSerializer.java
 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/shareaccounts/serialization/ShareAccountDataSerializer.java
index 80812af..d3efb05 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/shareaccounts/serialization/ShareAccountDataSerializer.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/shareaccounts/serialization/ShareAccountDataSerializer.java
@@ -21,6 +21,7 @@ package 
org.apache.fineract.portfolio.shareaccounts.serialization;
 import java.lang.reflect.Type;
 import java.math.BigDecimal;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -89,6 +90,26 @@ public class ShareAccountDataSerializer {
     private final ShareProductRepositoryWrapper shareProductRepository;
 
     private final SavingsAccountReadPlatformService 
savingsAccountReadPlatformService ;
+
+    private static final Set<String> approvalParameters = new 
HashSet<>(Arrays.asList(ShareAccountApiConstants
+                    .locale_paramname,
+            ShareAccountApiConstants.dateformat_paramname, 
ShareAccountApiConstants.approveddate_paramname,
+            ShareAccountApiConstants.note_paramname));
+
+    private static final Set<String> activateParameters = new 
HashSet<>(Arrays.asList(ShareAccountApiConstants
+                    .locale_paramname,
+            ShareAccountApiConstants.dateformat_paramname, 
ShareAccountApiConstants.activatedate_paramname));
+
+    private static final Set<String> closeParameters = new 
HashSet<>(Arrays.asList(ShareAccountApiConstants
+                    .locale_paramname,
+            ShareAccountApiConstants.dateformat_paramname, 
ShareAccountApiConstants.closeddate_paramname,
+            ShareAccountApiConstants.note_paramname));
+
+    private static final Set<String> addtionalSharesParameters = new 
HashSet<>(Arrays.asList(ShareAccountApiConstants
+                    .locale_paramname,
+            ShareAccountApiConstants.requesteddate_paramname, 
ShareAccountApiConstants.requestedshares_paramname,
+            ShareAccountApiConstants.purchasedprice_paramname, 
ShareAccountApiConstants.dateformat_paramname));
+
     
     @Autowired
     public ShareAccountDataSerializer(final PlatformSecurityContext 
platformSecurityContext, final FromJsonHelper fromApiJsonHelper,
@@ -426,7 +447,7 @@ public class ShareAccountDataSerializer {
         Map<String, Object> actualChanges = new HashMap<>();
         if (StringUtils.isBlank(jsonCommand.json())) { throw new 
InvalidJsonException(); }
         final Type typeOfMap = new TypeToken<Map<String, Object>>() 
{}.getType();
-        this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, 
jsonCommand.json(), ShareAccountApiConstants.approvalParameters);
+        this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, 
jsonCommand.json(), approvalParameters);
         final List<ApiParameterError> dataValidationErrors = new ArrayList<>();
         final DataValidatorBuilder baseDataValidator = new 
DataValidatorBuilder(dataValidationErrors).resource("sharesaccount");
         JsonElement element = jsonCommand.parsedJson();
@@ -498,7 +519,7 @@ public class ShareAccountDataSerializer {
         Map<String, Object> actualChanges = new HashMap<>();
         if (StringUtils.isBlank(jsonCommand.json())) { throw new 
InvalidJsonException(); }
         final Type typeOfMap = new TypeToken<Map<String, Object>>() 
{}.getType();
-        this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, 
jsonCommand.json(), ShareAccountApiConstants.activateParameters);
+        this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, 
jsonCommand.json(), activateParameters);
         final List<ApiParameterError> dataValidationErrors = new ArrayList<>();
         final DataValidatorBuilder baseDataValidator = new 
DataValidatorBuilder(dataValidationErrors).resource("sharesaccount");
         
if(!account.status().equals(ShareAccountStatusType.APPROVED.getValue())) {
@@ -552,7 +573,7 @@ public class ShareAccountDataSerializer {
         Map<String, Object> actualChanges = new HashMap<>();
         if (StringUtils.isBlank(jsonCommand.json())) { throw new 
InvalidJsonException(); }
         final Type typeOfMap = new TypeToken<Map<String, Object>>() 
{}.getType();
-        this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, 
jsonCommand.json(), ShareAccountApiConstants.activateParameters);
+        this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, 
jsonCommand.json(), activateParameters);
         final List<ApiParameterError> dataValidationErrors = new ArrayList<>();
         final DataValidatorBuilder baseDataValidator = new 
DataValidatorBuilder(dataValidationErrors).resource("sharesaccount");
         JsonElement element = jsonCommand.parsedJson();
@@ -633,7 +654,7 @@ public class ShareAccountDataSerializer {
         if (StringUtils.isBlank(jsonCommand.json())) { throw new 
InvalidJsonException(); }
         final Type typeOfMap = new TypeToken<Map<String, Object>>() 
{}.getType();
         this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, 
jsonCommand.json(),
-                ShareAccountApiConstants.addtionalSharesParameters);
+                addtionalSharesParameters);
         final List<ApiParameterError> dataValidationErrors = new ArrayList<>();
         final DataValidatorBuilder baseDataValidator = new 
DataValidatorBuilder(dataValidationErrors).resource("sharesaccount");
         JsonElement element = jsonCommand.parsedJson();
@@ -697,7 +718,7 @@ public class ShareAccountDataSerializer {
         if (StringUtils.isBlank(jsonCommand.json())) { throw new 
InvalidJsonException(); }
         final Type typeOfMap = new TypeToken<Map<String, Object>>() 
{}.getType();
         this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, 
jsonCommand.json(),
-                ShareAccountApiConstants.addtionalSharesParameters);
+                addtionalSharesParameters);
         final List<ApiParameterError> dataValidationErrors = new ArrayList<>();
         final DataValidatorBuilder baseDataValidator = new 
DataValidatorBuilder(dataValidationErrors).resource("sharesaccount");
         JsonElement element = jsonCommand.parsedJson();
@@ -747,7 +768,7 @@ public class ShareAccountDataSerializer {
         if (StringUtils.isBlank(jsonCommand.json())) { throw new 
InvalidJsonException(); }
         final Type typeOfMap = new TypeToken<Map<String, Object>>() 
{}.getType();
         this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, 
jsonCommand.json(),
-                ShareAccountApiConstants.addtionalSharesParameters);
+                addtionalSharesParameters);
         JsonElement element = jsonCommand.parsedJson();
         final ArrayList<Long> purchasedShares = new ArrayList<>();
         if 
(this.fromApiJsonHelper.parameterExists(ShareAccountApiConstants.requestedshares_paramname,
 element)) {
@@ -792,7 +813,7 @@ public class ShareAccountDataSerializer {
         if (StringUtils.isBlank(jsonCommand.json())) { throw new 
InvalidJsonException(); }
         final Type typeOfMap = new TypeToken<Map<String, Object>>() 
{}.getType();
         this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, 
jsonCommand.json(),
-                ShareAccountApiConstants.addtionalSharesParameters);
+                addtionalSharesParameters);
         final List<ApiParameterError> dataValidationErrors = new ArrayList<>();
         final DataValidatorBuilder baseDataValidator = new 
DataValidatorBuilder(dataValidationErrors).resource("sharesaccount");
         JsonElement element = jsonCommand.parsedJson();
@@ -938,7 +959,7 @@ public class ShareAccountDataSerializer {
         Map<String, Object> actualChanges = new HashMap<>();
         if (StringUtils.isBlank(jsonCommand.json())) { throw new 
InvalidJsonException(); }
         final Type typeOfMap = new TypeToken<Map<String, Object>>() 
{}.getType();
-        this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, 
jsonCommand.json(), ShareAccountApiConstants.closeParameters);
+        this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, 
jsonCommand.json(), closeParameters);
         final List<ApiParameterError> dataValidationErrors = new ArrayList<>();
         final DataValidatorBuilder baseDataValidator = new 
DataValidatorBuilder(dataValidationErrors).resource("sharesaccount");
         JsonElement element = jsonCommand.parsedJson();

http://git-wip-us.apache.org/repos/asf/fineract/blob/50048151/fineract-provider/src/main/java/org/apache/fineract/portfolio/shareproducts/constants/ShareProductApiConstants.java
----------------------------------------------------------------------
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/shareproducts/constants/ShareProductApiConstants.java
 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/shareproducts/constants/ShareProductApiConstants.java
index 4a0725e..ff2e62b 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/shareproducts/constants/ShareProductApiConstants.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/shareproducts/constants/ShareProductApiConstants.java
@@ -65,19 +65,4 @@ public interface ShareProductApiConstants {
 
     String accountingRuleParamName = "accountingRule";
 
-    Set<String> supportedParametersForCreate = new 
HashSet<>(Arrays.asList(locale_paramname, name_paramname, shortname_paramname,
-            shortname_paramname, description_paramname, externalid_paramname, 
totalshares_paramname, currency_paramname,
-            digitsafterdecimal_paramname, digitsafterdecimal_paramname, 
inmultiplesof_paramname, totalsharesissued_paramname,
-            unitprice_paramname, minimumshares_paramname, 
nominaltshares_paramname, maximumshares_paramname, marketprice_paramname,
-            charges_paramname, 
allowdividendcalculationforinactiveclients_paramname, lockperiod_paramname,
-            lockinperiodfrequencytype_paramname, 
minimumactiveperiodfordividends_paramname, 
minimumactiveperiodfrequencytype_paramname,
-            sharecapital_paramname, accountingRuleParamName,
-            
AccountingConstants.SHARES_PRODUCT_ACCOUNTING_PARAMS.INCOME_FROM_FEES.getValue(),
-            
AccountingConstants.SHARES_PRODUCT_ACCOUNTING_PARAMS.SHARES_EQUITY.getValue(),
-            
AccountingConstants.SHARES_PRODUCT_ACCOUNTING_PARAMS.SHARES_REFERENCE.getValue(),
-            
AccountingConstants.SHARES_PRODUCT_ACCOUNTING_PARAMS.SHARES_SUSPENSE.getValue()));
-
-    Set<String> supportedParametersForDivident = new 
HashSet<>(Arrays.asList(locale_paramname, dateFormatParamName,
-            dividendPeriodStartDateParamName, dividendPeriodEndDateParamName, 
dividendAmountParamName));
-
 }

http://git-wip-us.apache.org/repos/asf/fineract/blob/50048151/fineract-provider/src/main/java/org/apache/fineract/portfolio/shareproducts/serialization/ShareProductDataSerializer.java
----------------------------------------------------------------------
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/shareproducts/serialization/ShareProductDataSerializer.java
 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/shareproducts/serialization/ShareProductDataSerializer.java
index 076861d..9dbb75e 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/shareproducts/serialization/ShareProductDataSerializer.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/shareproducts/serialization/ShareProductDataSerializer.java
@@ -21,6 +21,7 @@ package 
org.apache.fineract.portfolio.shareproducts.serialization;
 import java.lang.reflect.Type;
 import java.math.BigDecimal;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
@@ -29,6 +30,7 @@ import java.util.Map;
 import java.util.Set;
 
 import org.apache.commons.lang.StringUtils;
+import org.apache.fineract.accounting.common.AccountingConstants;
 import org.apache.fineract.accounting.common.AccountingRuleType;
 import org.apache.fineract.infrastructure.core.api.JsonCommand;
 import org.apache.fineract.infrastructure.core.data.ApiParameterError;
@@ -39,7 +41,6 @@ import 
org.apache.fineract.infrastructure.core.serialization.FromJsonHelper;
 import org.apache.fineract.infrastructure.core.service.DateUtils;
 import 
org.apache.fineract.infrastructure.security.service.PlatformSecurityContext;
 import org.apache.fineract.organisation.monetary.domain.MonetaryCurrency;
-import 
org.apache.fineract.portfolio.accounts.constants.ShareAccountApiConstants;
 import org.apache.fineract.portfolio.charge.domain.Charge;
 import org.apache.fineract.portfolio.charge.domain.ChargeRepositoryWrapper;
 import org.apache.fineract.portfolio.common.domain.PeriodFrequencyType;
@@ -67,6 +68,31 @@ public class ShareProductDataSerializer {
     private final ChargeRepositoryWrapper chargeRepository;
 
     private final PlatformSecurityContext platformSecurityContext;
+       private static final Set<String> supportedParametersForCreate = new 
HashSet<>(Arrays.asList(
+                       ShareProductApiConstants.locale_paramname, 
ShareProductApiConstants.name_paramname,
+                       ShareProductApiConstants.shortname_paramname, 
ShareProductApiConstants.shortname_paramname,
+                       ShareProductApiConstants.description_paramname, 
ShareProductApiConstants.externalid_paramname,
+                       ShareProductApiConstants.totalshares_paramname, 
ShareProductApiConstants.currency_paramname,
+                       ShareProductApiConstants.digitsafterdecimal_paramname,
+                       ShareProductApiConstants.digitsafterdecimal_paramname, 
ShareProductApiConstants.inmultiplesof_paramname,
+                       ShareProductApiConstants.totalsharesissued_paramname, 
ShareProductApiConstants.unitprice_paramname,
+                       ShareProductApiConstants.minimumshares_paramname, 
ShareProductApiConstants.nominaltshares_paramname,
+                       ShareProductApiConstants.maximumshares_paramname, 
ShareProductApiConstants.marketprice_paramname,
+                       ShareProductApiConstants.charges_paramname,
+                       
ShareProductApiConstants.allowdividendcalculationforinactiveclients_paramname,
+                       ShareProductApiConstants.lockperiod_paramname, 
ShareProductApiConstants.lockinperiodfrequencytype_paramname,
+                       
ShareProductApiConstants.minimumactiveperiodfordividends_paramname,
+                       
ShareProductApiConstants.minimumactiveperiodfrequencytype_paramname,
+                       ShareProductApiConstants.sharecapital_paramname, 
ShareProductApiConstants.accountingRuleParamName,
+                       
AccountingConstants.SHARES_PRODUCT_ACCOUNTING_PARAMS.INCOME_FROM_FEES.getValue(),
+                       
AccountingConstants.SHARES_PRODUCT_ACCOUNTING_PARAMS.SHARES_EQUITY.getValue(),
+                       
AccountingConstants.SHARES_PRODUCT_ACCOUNTING_PARAMS.SHARES_REFERENCE.getValue(),
+                       
AccountingConstants.SHARES_PRODUCT_ACCOUNTING_PARAMS.SHARES_SUSPENSE.getValue()));
+
+       private static final Set<String> supportedParametersForDivident = new 
HashSet<>(Arrays.asList(
+                       ShareProductApiConstants.locale_paramname, 
ShareProductApiConstants.dateFormatParamName,
+                       
ShareProductApiConstants.dividendPeriodStartDateParamName,
+                       
ShareProductApiConstants.dividendPeriodEndDateParamName, 
ShareProductApiConstants.dividendAmountParamName));
 
     @Autowired
     public ShareProductDataSerializer(final FromJsonHelper fromApiJsonHelper, 
final ChargeRepositoryWrapper chargeRepository,
@@ -79,8 +105,8 @@ public class ShareProductDataSerializer {
     public ShareProduct validateAndCreate(JsonCommand jsonCommand) {
         if (StringUtils.isBlank(jsonCommand.json())) { throw new 
InvalidJsonException(); }
         final Type typeOfMap = new TypeToken<Map<String, Object>>() 
{}.getType();
-        this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, 
jsonCommand.json(),
-                ShareProductApiConstants.supportedParametersForCreate);
+               this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, 
jsonCommand.json(),
+                               supportedParametersForCreate);
 
         final List<ApiParameterError> dataValidationErrors = new ArrayList<>();
         final DataValidatorBuilder baseDataValidator = new 
DataValidatorBuilder(dataValidationErrors).resource("sharesproduct");
@@ -248,8 +274,8 @@ public class ShareProductDataSerializer {
 
         if (StringUtils.isBlank(jsonCommand.json())) { throw new 
InvalidJsonException(); }
         final Type typeOfMap = new TypeToken<Map<String, Object>>() 
{}.getType();
-        this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, 
jsonCommand.json(),
-                ShareProductApiConstants.supportedParametersForCreate);
+               this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, 
jsonCommand.json(),
+                               supportedParametersForCreate);
 
         final List<ApiParameterError> dataValidationErrors = new ArrayList<>();
         final DataValidatorBuilder baseDataValidator = new 
DataValidatorBuilder(dataValidationErrors).resource("sharesproduct");
@@ -447,8 +473,8 @@ public class ShareProductDataSerializer {
     public void validateDividendDetails(JsonCommand jsonCommand) {
         if (StringUtils.isBlank(jsonCommand.json())) { throw new 
InvalidJsonException(); }
         final Type typeOfMap = new TypeToken<Map<String, Object>>() 
{}.getType();
-        this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, 
jsonCommand.json(),
-                ShareProductApiConstants.supportedParametersForDivident);
+               this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, 
jsonCommand.json(),
+                               supportedParametersForDivident);
 
         final List<ApiParameterError> dataValidationErrors = new ArrayList<>();
         final DataValidatorBuilder baseDataValidator = new 
DataValidatorBuilder(dataValidationErrors)

http://git-wip-us.apache.org/repos/asf/fineract/blob/50048151/fineract-provider/src/main/java/org/apache/fineract/portfolio/transfer/api/TransferApiConstants.java
----------------------------------------------------------------------
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/transfer/api/TransferApiConstants.java
 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/transfer/api/TransferApiConstants.java
index 0a0376d..0135f00 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/transfer/api/TransferApiConstants.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/transfer/api/TransferApiConstants.java
@@ -38,21 +38,4 @@ public class TransferApiConstants {
     public static final String destinationOfficeIdParamName = 
"destinationOfficeId";
     public static final String note = "note";
 
-    public static final Set<String> 
TRANSFER_CLIENTS_BETWEEN_GROUPS_DATA_PARAMETERS = new 
HashSet<>(Arrays.asList(localeParamName,
-            dateFormatParamName, destinationGroupIdParamName, clients, 
inheritDestinationGroupLoanOfficer, newStaffIdParamName,
-            transferActiveLoans));
-
-    public static final Set<String> PROPOSE_CLIENT_TRANSFER_DATA_PARAMETERS = 
new HashSet<>(Arrays.asList(localeParamName,
-            dateFormatParamName, destinationOfficeIdParamName, 
transferActiveLoans, note));
-
-    public static final Set<String> ACCEPT_CLIENT_TRANSFER_DATA_PARAMETERS = 
new HashSet<>(Arrays.asList(newStaffIdParamName,
-            destinationGroupIdParamName, note));
-
-    public static final Set<String> 
PROPOSE_AND_ACCEPT_CLIENT_TRANSFER_DATA_PARAMETERS = new 
HashSet<>(Arrays.asList(localeParamName,
-            dateFormatParamName, destinationOfficeIdParamName, 
transferActiveLoans, newStaffIdParamName, destinationGroupIdParamName, note));
-
-    public static final Set<String> REJECT_CLIENT_TRANSFER_DATA_PARAMETERS = 
new HashSet<>(Arrays.asList(note));
-
-    public static final Set<String> WITHDRAW_CLIENT_TRANSFER_DATA_PARAMETERS = 
new HashSet<>(Arrays.asList(note));
-
 }
\ 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/transfer/data/TransfersDataValidator.java
----------------------------------------------------------------------
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/transfer/data/TransfersDataValidator.java
 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/transfer/data/TransfersDataValidator.java
index 885d737..273e87a 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/transfer/data/TransfersDataValidator.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/transfer/data/TransfersDataValidator.java
@@ -20,8 +20,11 @@ package org.apache.fineract.portfolio.transfer.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;
@@ -42,6 +45,32 @@ import com.google.gson.reflect.TypeToken;
 public final class TransfersDataValidator {
 
     private final FromJsonHelper fromApiJsonHelper;
+       private static final Set<String> 
TRANSFER_CLIENTS_BETWEEN_GROUPS_DATA_PARAMETERS = new HashSet<>(
+                       Arrays.asList(TransferApiConstants.localeParamName, 
TransferApiConstants.dateFormatParamName,
+                                       
TransferApiConstants.destinationGroupIdParamName, TransferApiConstants.clients,
+                                       
TransferApiConstants.inheritDestinationGroupLoanOfficer, 
TransferApiConstants.newStaffIdParamName,
+                                       
TransferApiConstants.transferActiveLoans));
+
+       private static final Set<String> 
PROPOSE_CLIENT_TRANSFER_DATA_PARAMETERS = new HashSet<>(
+                       Arrays.asList(TransferApiConstants.localeParamName, 
TransferApiConstants.dateFormatParamName,
+                                       
TransferApiConstants.destinationOfficeIdParamName, 
TransferApiConstants.transferActiveLoans,
+                                       TransferApiConstants.note));
+
+       private static final Set<String> ACCEPT_CLIENT_TRANSFER_DATA_PARAMETERS 
= new HashSet<>(
+                       Arrays.asList(TransferApiConstants.newStaffIdParamName, 
TransferApiConstants.destinationGroupIdParamName,
+                                       TransferApiConstants.note));
+
+       private static final Set<String> 
PROPOSE_AND_ACCEPT_CLIENT_TRANSFER_DATA_PARAMETERS = new HashSet<>(
+                       Arrays.asList(TransferApiConstants.localeParamName, 
TransferApiConstants.dateFormatParamName,
+                                       
TransferApiConstants.destinationOfficeIdParamName, 
TransferApiConstants.transferActiveLoans,
+                                       
TransferApiConstants.newStaffIdParamName, 
TransferApiConstants.destinationGroupIdParamName,
+                                       TransferApiConstants.note));
+
+       private static final Set<String> REJECT_CLIENT_TRANSFER_DATA_PARAMETERS 
= new HashSet<>(
+                       Arrays.asList(TransferApiConstants.note));
+
+       private static final Set<String> 
WITHDRAW_CLIENT_TRANSFER_DATA_PARAMETERS = new HashSet<>(
+                       Arrays.asList(TransferApiConstants.note));
 
     @Autowired
     public TransfersDataValidator(final FromJsonHelper fromApiJsonHelper) {
@@ -57,8 +86,8 @@ public final class TransfersDataValidator {
         if (StringUtils.isBlank(json)) { throw new InvalidJsonException(); }
 
         final Type typeOfMap = new TypeToken<Map<String, Object>>() 
{}.getType();
-        this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json,
-                
TransferApiConstants.TRANSFER_CLIENTS_BETWEEN_GROUPS_DATA_PARAMETERS);
+               this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, 
json,
+                               
TRANSFER_CLIENTS_BETWEEN_GROUPS_DATA_PARAMETERS);
         final JsonElement element = this.fromApiJsonHelper.parse(json);
 
         final List<ApiParameterError> dataValidationErrors = new ArrayList<>();
@@ -91,7 +120,7 @@ public final class TransfersDataValidator {
         if (StringUtils.isBlank(json)) { throw new InvalidJsonException(); }
 
         final Type typeOfMap = new TypeToken<Map<String, Object>>() 
{}.getType();
-        this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, 
TransferApiConstants.PROPOSE_CLIENT_TRANSFER_DATA_PARAMETERS);
+        this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, 
PROPOSE_CLIENT_TRANSFER_DATA_PARAMETERS);
         final JsonElement element = this.fromApiJsonHelper.parse(json);
 
         final List<ApiParameterError> dataValidationErrors = new ArrayList<>();
@@ -113,7 +142,7 @@ public final class TransfersDataValidator {
         if (StringUtils.isBlank(json)) { throw new InvalidJsonException(); }
 
         final Type typeOfMap = new TypeToken<Map<String, Object>>() 
{}.getType();
-        this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, 
TransferApiConstants.ACCEPT_CLIENT_TRANSFER_DATA_PARAMETERS);
+        this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, 
ACCEPT_CLIENT_TRANSFER_DATA_PARAMETERS);
         final List<ApiParameterError> dataValidationErrors = new ArrayList<>();
 
         final DataValidatorBuilder baseDataValidator = new 
DataValidatorBuilder(dataValidationErrors)
@@ -142,8 +171,7 @@ public final class TransfersDataValidator {
         if (StringUtils.isBlank(json)) { throw new InvalidJsonException(); }
 
         final Type typeOfMap = new TypeToken<Map<String, Object>>() 
{}.getType();
-        this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json,
-                
TransferApiConstants.PROPOSE_AND_ACCEPT_CLIENT_TRANSFER_DATA_PARAMETERS);
+        this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, 
PROPOSE_AND_ACCEPT_CLIENT_TRANSFER_DATA_PARAMETERS);
         final List<ApiParameterError> dataValidationErrors = new ArrayList<>();
 
         final DataValidatorBuilder baseDataValidator = new 
DataValidatorBuilder(dataValidationErrors)
@@ -177,7 +205,7 @@ public final class TransfersDataValidator {
         if (StringUtils.isBlank(json)) { throw new InvalidJsonException(); }
 
         final Type typeOfMap = new TypeToken<Map<String, Object>>() 
{}.getType();
-        this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, 
TransferApiConstants.REJECT_CLIENT_TRANSFER_DATA_PARAMETERS);
+        this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, 
REJECT_CLIENT_TRANSFER_DATA_PARAMETERS);
         final List<ApiParameterError> dataValidationErrors = new ArrayList<>();
 
         final DataValidatorBuilder baseDataValidator = new 
DataValidatorBuilder(dataValidationErrors)
@@ -194,7 +222,7 @@ public final class TransfersDataValidator {
 
         final Type typeOfMap = new TypeToken<Map<String, Object>>() 
{}.getType();
         this.fromApiJsonHelper
-                .checkForUnsupportedParameters(typeOfMap, json, 
TransferApiConstants.WITHDRAW_CLIENT_TRANSFER_DATA_PARAMETERS);
+                .checkForUnsupportedParameters(typeOfMap, json, 
WITHDRAW_CLIENT_TRANSFER_DATA_PARAMETERS);
         final List<ApiParameterError> dataValidationErrors = new ArrayList<>();
 
         final DataValidatorBuilder baseDataValidator = new 
DataValidatorBuilder(dataValidationErrors)

http://git-wip-us.apache.org/repos/asf/fineract/blob/50048151/fineract-provider/src/main/java/org/apache/fineract/useradministration/api/PasswordPreferencesApiConstants.java
----------------------------------------------------------------------
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/useradministration/api/PasswordPreferencesApiConstants.java
 
b/fineract-provider/src/main/java/org/apache/fineract/useradministration/api/PasswordPreferencesApiConstants.java
index 97c80fd..60efe17 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/useradministration/api/PasswordPreferencesApiConstants.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/useradministration/api/PasswordPreferencesApiConstants.java
@@ -37,8 +37,7 @@ public class PasswordPreferencesApiConstants {
     // request parameters
     public static final String VALIDATION_POLICY_ID = "validationPolicyId";
 
-    public static final Set<String> REQUEST_DATA_PARAMETERS = new 
HashSet<>(Arrays.asList(VALIDATION_POLICY_ID));
-
-    public static final Set<String> RESPONSE_DATA_PARAMETERS = new 
HashSet<>(Arrays.asList(ID_PARAM_NAME, ACTIVE, DESCRIPTION));
+    protected static final Set<String> RESPONSE_DATA_PARAMETERS = new 
HashSet<>(Arrays.asList(ID_PARAM_NAME, ACTIVE,
+            DESCRIPTION));
 
 }

http://git-wip-us.apache.org/repos/asf/fineract/blob/50048151/fineract-provider/src/main/java/org/apache/fineract/useradministration/data/PasswordPreferencesDataValidator.java
----------------------------------------------------------------------
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/useradministration/data/PasswordPreferencesDataValidator.java
 
b/fineract-provider/src/main/java/org/apache/fineract/useradministration/data/PasswordPreferencesDataValidator.java
index 0a893c3..38d7509 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/useradministration/data/PasswordPreferencesDataValidator.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/useradministration/data/PasswordPreferencesDataValidator.java
@@ -20,8 +20,11 @@ package org.apache.fineract.useradministration.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;
@@ -39,7 +42,9 @@ import com.google.gson.reflect.TypeToken;
 @Component
 public class PasswordPreferencesDataValidator {
 
-    private final FromJsonHelper fromApiJsonHelper;
+       private final FromJsonHelper fromApiJsonHelper;
+       private static final Set<String> REQUEST_DATA_PARAMETERS = new 
HashSet<>(
+                       
Arrays.asList(PasswordPreferencesApiConstants.VALIDATION_POLICY_ID));
 
     @Autowired
     public PasswordPreferencesDataValidator(FromJsonHelper fromApiJsonHelper) {
@@ -50,7 +55,7 @@ public class PasswordPreferencesDataValidator {
         if (StringUtils.isBlank(json)) { throw new InvalidJsonException(); }
 
         final Type typeOfMap = new TypeToken<Map<String, Object>>() 
{}.getType();
-        this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, 
PasswordPreferencesApiConstants.REQUEST_DATA_PARAMETERS);
+        this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, 
REQUEST_DATA_PARAMETERS);
         final JsonElement element = this.fromApiJsonHelper.parse(json);
 
         final List<ApiParameterError> dataValidationErrors = new ArrayList<>();

Reply via email to