FINERACT-1375:ClientPersonEntity

This commit is contained in:
rrpawar96
2022-01-06 06:29:29 +08:00
committed by Petri Tuomola
parent 83c83e1dd7
commit 4a4048561e
14 changed files with 101 additions and 46 deletions
@@ -46,11 +46,11 @@ public class DatatableCommandFromApiJsonDeserializer {
* The parameters supported for this command.
*/
private final Set<String> supportedParametersForCreate = new HashSet<>(
Arrays.asList("datatableName", "apptableName", "multiRow", "columns"));
Arrays.asList("datatableName", "entitySubType", "apptableName", "multiRow", "columns"));
private final Set<String> supportedParametersForCreateColumns = new HashSet<>(
Arrays.asList("name", "type", "length", "mandatory", "code"));
private final Set<String> supportedParametersForUpdate = new HashSet<>(
Arrays.asList("apptableName", "changeColumns", "addColumns", "dropColumns"));
Arrays.asList("apptableName", "entitySubType", "changeColumns", "addColumns", "dropColumns"));
private final Set<String> supportedParametersForAddColumns = new HashSet<>(
Arrays.asList("name", "type", "length", "mandatory", "after", "code"));
private final Set<String> supportedParametersForChangeColumns = new HashSet<>(
@@ -122,6 +122,11 @@ public class DatatableCommandFromApiJsonDeserializer {
final String apptableName = this.fromApiJsonHelper.extractStringNamed("apptableName", element);
baseDataValidator.reset().parameter("apptableName").value(apptableName).notBlank().notExceedingLengthOf(50)
.isOneOfTheseValues(this.supportedApptableNames);
if ("m_client".equals(apptableName)) {
String entitySubType = this.fromApiJsonHelper.extractStringNamed("entitySubType", element);
baseDataValidator.reset().parameter("entitySubType").value(entitySubType).notBlank(); // Person or Entity
}
final String fkColumnName = (apptableName != null) ? apptableName.substring(2) + "_id" : "";
final Boolean multiRow = this.fromApiJsonHelper.extractBooleanNamed("multiRow", element);
@@ -171,6 +176,12 @@ public class DatatableCommandFromApiJsonDeserializer {
final String apptableName = this.fromApiJsonHelper.extractStringNamed("apptableName", element);
baseDataValidator.reset().parameter("apptableName").value(apptableName).ignoreIfNull().notBlank()
.isOneOfTheseValues(this.supportedApptableNames);
if ("m_client".equals(apptableName)) {
String entitySubType = this.fromApiJsonHelper.extractStringNamed("entitySubType", element);
baseDataValidator.reset().parameter("entitySubType").value(entitySubType).notBlank(); // Person or Entity
}
final String fkColumnName = (apptableName != null) ? apptableName.substring(2) + "_id" : "";
final JsonArray changeColumns = this.fromApiJsonHelper.extractJsonArrayNamed("changeColumns", element);
@@ -31,17 +31,20 @@ public final class DatatableData implements Serializable {
@SuppressWarnings("unused")
private final String registeredTableName;
@SuppressWarnings("unused")
private final String entitySubType;
@SuppressWarnings("unused")
private final List<ResultsetColumnHeaderData> columnHeaderData;
public static DatatableData create(final String applicationTableName, final String registeredTableName,
public static DatatableData create(final String applicationTableName, final String registeredTableName, final String entitySubType,
final List<ResultsetColumnHeaderData> columnHeaderData) {
return new DatatableData(applicationTableName, registeredTableName, columnHeaderData);
return new DatatableData(applicationTableName, registeredTableName, entitySubType, columnHeaderData);
}
private DatatableData(final String applicationTableName, final String registeredTableName,
private DatatableData(final String applicationTableName, final String registeredTableName, final String entitySubType,
final List<ResultsetColumnHeaderData> columnHeaderData) {
this.applicationTableName = applicationTableName;
this.registeredTableName = registeredTableName;
this.entitySubType = entitySubType;
this.columnHeaderData = columnHeaderData;
}
@@ -35,7 +35,7 @@ public interface ReadWriteNonCoreDataService {
void registerDatatable(JsonCommand command);
@PreAuthorize(value = "hasAnyAuthority('ALL_FUNCTIONS', 'REGISTER_DATATABLE')")
void registerDatatable(String dataTableName, String applicationTableName);
void registerDatatable(String dataTableName, String applicationTableName, String entitySubType);
@PreAuthorize(value = "hasAnyAuthority('ALL_FUNCTIONS', 'REGISTER_DATATABLE')")
void registerDatatable(JsonCommand command, String permissionTable);
@@ -149,8 +149,8 @@ public class ReadWriteNonCoreDataServiceImpl implements ReadWriteNonCoreDataServ
}
// PERMITTED datatables
final String sql = "select application_table_name, registered_table_name" + " from x_registered_table " + " where exists"
+ " (select 'f'" + " from m_appuser_role ur " + " join m_role r on r.id = ur.role_id"
final String sql = "select application_table_name, registered_table_name, entity_subtype " + " from x_registered_table "
+ " where exists" + " (select 'f'" + " from m_appuser_role ur " + " join m_role r on r.id = ur.role_id"
+ " left join m_role_permission rp on rp.role_id = r.id" + " left join m_permission p on p.id = rp.permission_id"
+ " where ur.appuser_id = " + this.context.authenticatedUser().getId()
+ " and (p.code in ('ALL_FUNCTIONS', 'ALL_FUNCTIONS_READ') or p.code = concat('READ_', registered_table_name))) "
@@ -162,10 +162,11 @@ public class ReadWriteNonCoreDataServiceImpl implements ReadWriteNonCoreDataServ
while (rs.next()) {
final String appTableName = rs.getString("application_table_name");
final String registeredDatatableName = rs.getString("registered_table_name");
final String entitySubType = rs.getString("entity_subtype");
final List<ResultsetColumnHeaderData> columnHeaderData = this.genericDataService
.fillResultsetColumnHeaders(registeredDatatableName);
datatables.add(DatatableData.create(appTableName, registeredDatatableName, columnHeaderData));
datatables.add(DatatableData.create(appTableName, registeredDatatableName, entitySubType, columnHeaderData));
}
return datatables;
@@ -176,8 +177,8 @@ public class ReadWriteNonCoreDataServiceImpl implements ReadWriteNonCoreDataServ
// PERMITTED datatables
SQLInjectionValidator.validateSQLInput(datatable);
final String sql = "select application_table_name, registered_table_name" + " from x_registered_table " + " where exists"
+ " (select 'f'" + " from m_appuser_role ur " + " join m_role r on r.id = ur.role_id"
final String sql = "select application_table_name, registered_table_name, entity_subtype" + " from x_registered_table "
+ " where exists" + " (select 'f'" + " from m_appuser_role ur " + " join m_role r on r.id = ur.role_id"
+ " left join m_role_permission rp on rp.role_id = r.id" + " left join m_permission p on p.id = rp.permission_id"
+ " where ur.appuser_id = " + this.context.authenticatedUser().getId() + " and registered_table_name='" + datatable + "'"
+ " and (p.code in ('ALL_FUNCTIONS', 'ALL_FUNCTIONS_READ') or p.code = concat('READ_', registered_table_name))) "
@@ -189,10 +190,11 @@ public class ReadWriteNonCoreDataServiceImpl implements ReadWriteNonCoreDataServ
while (rs.next()) {
final String appTableName = rs.getString("application_table_name");
final String registeredDatatableName = rs.getString("registered_table_name");
final String entitySubType = rs.getString("entity_subtype");
final List<ResultsetColumnHeaderData> columnHeaderData = this.genericDataService
.fillResultsetColumnHeaders(registeredDatatableName);
datatableData = DatatableData.create(appTableName, registeredDatatableName, columnHeaderData);
datatableData = DatatableData.create(appTableName, registeredDatatableName, entitySubType, columnHeaderData);
}
return datatableData;
@@ -204,12 +206,12 @@ public class ReadWriteNonCoreDataServiceImpl implements ReadWriteNonCoreDataServ
@Transactional
@Override
public void registerDatatable(final String dataTableName, final String applicationTableName) {
public void registerDatatable(final String dataTableName, final String applicationTableName, final String entitySubType) {
Integer category = DataTableApiConstant.CATEGORY_DEFAULT;
final String permissionSql = this.getPermissionSql(dataTableName);
this.registerDataTable(applicationTableName, dataTableName, category, permissionSql);
this.registerDataTable(applicationTableName, dataTableName, entitySubType, category, permissionSql);
}
@@ -219,12 +221,13 @@ public class ReadWriteNonCoreDataServiceImpl implements ReadWriteNonCoreDataServ
final String applicationTableName = this.getTableName(command.getUrl());
final String dataTableName = this.getDataTableName(command.getUrl());
final String entitySubType = command.stringValueOfParameterNamed("entitySubType");
Integer category = this.getCategory(command);
this.dataTableValidator.validateDataTableRegistration(command.json());
final String permissionSql = this.getPermissionSql(dataTableName);
this.registerDataTable(applicationTableName, dataTableName, category, permissionSql);
this.registerDataTable(applicationTableName, dataTableName, entitySubType, category, permissionSql);
}
@@ -233,27 +236,29 @@ public class ReadWriteNonCoreDataServiceImpl implements ReadWriteNonCoreDataServ
public void registerDatatable(final JsonCommand command, final String permissionSql) {
final String applicationTableName = this.getTableName(command.getUrl());
final String dataTableName = this.getDataTableName(command.getUrl());
final String entitySubType = command.stringValueOfParameterNamed("entitySubType");
Integer category = this.getCategory(command);
this.dataTableValidator.validateDataTableRegistration(command.json());
this.registerDataTable(applicationTableName, dataTableName, category, permissionSql);
this.registerDataTable(applicationTableName, dataTableName, entitySubType, category, permissionSql);
}
@Transactional
private void registerDataTable(final String applicationTableName, final String dataTableName, final Integer category,
final String permissionsSql) {
private void registerDataTable(final String applicationTableName, final String dataTableName, final String entitySubType,
final Integer category, final String permissionsSql) {
validateAppTable(applicationTableName);
validateDatatableName(dataTableName);
assertDataTableExists(dataTableName);
Map<String, Object> paramMap = new HashMap<>(3);
final String registerDatatableSql = "insert into x_registered_table (registered_table_name, application_table_name,category) values ( :dataTableName, :applicationTableName, :category)";
final String registerDatatableSql = "insert into x_registered_table (registered_table_name, application_table_name, entity_subtype, category) values ( :dataTableName, :applicationTableName, :entitySubType ,:category)";
paramMap.put("dataTableName", dataTableName);
paramMap.put("applicationTableName", applicationTableName);
paramMap.put("entitySubType", entitySubType);
paramMap.put("category", category);
try {
@@ -568,6 +573,7 @@ public class ReadWriteNonCoreDataServiceImpl implements ReadWriteNonCoreDataServ
final JsonElement element = this.fromJsonHelper.parse(command.json());
final JsonArray columns = this.fromJsonHelper.extractJsonArrayNamed("columns", element);
datatableName = this.fromJsonHelper.extractStringNamed("datatableName", element);
String entitySubType = this.fromJsonHelper.extractStringNamed("entitySubType", element);
final String apptableName = this.fromJsonHelper.extractStringNamed("apptableName", element);
Boolean multiRow = this.fromJsonHelper.extractBooleanNamed("multiRow", element);
@@ -623,7 +629,7 @@ public class ReadWriteNonCoreDataServiceImpl implements ReadWriteNonCoreDataServ
sqlBuilder = sqlBuilder.append(") ENGINE=InnoDB DEFAULT CHARSET=UTF8MB4;");
this.jdbcTemplate.execute(sqlBuilder.toString());
registerDatatable(datatableName, apptableName);
registerDatatable(datatableName, apptableName, entitySubType);
registerColumnCodeMapping(codeMappings);
} catch (final JpaSystemException | DataIntegrityViolationException e) {
final Throwable realCause = e.getCause();
@@ -888,6 +894,7 @@ public class ReadWriteNonCoreDataServiceImpl implements ReadWriteNonCoreDataServ
final JsonArray addColumns = this.fromJsonHelper.extractJsonArrayNamed("addColumns", element);
final JsonArray dropColumns = this.fromJsonHelper.extractJsonArrayNamed("dropColumns", element);
final String apptableName = this.fromJsonHelper.extractStringNamed("apptableName", element);
final String entitySubType = this.fromJsonHelper.extractStringNamed("entitySubType", element);
validateDatatableName(datatableName);
int rowCount = getRowCount(datatableName);
@@ -899,6 +906,12 @@ public class ReadWriteNonCoreDataServiceImpl implements ReadWriteNonCoreDataServ
final boolean isConstraintApproach = this.configurationDomainService.isConstraintApproachEnabledForDatatables();
if (!StringUtils.isBlank(entitySubType)) {
String updateLegalFormSQL = "update `x_registered_table` SET `entity_subtype`='" + entitySubType
+ "' WHERE registered_table_name = '" + datatableName + "'";
this.jdbcTemplate.execute(updateLegalFormSQL);
}
if (!StringUtils.isBlank(apptableName)) {
validateAppTable(apptableName);
@@ -929,7 +942,7 @@ public class ReadWriteNonCoreDataServiceImpl implements ReadWriteNonCoreDataServ
this.jdbcTemplate.execute(sqlBuilder.toString());
deregisterDatatable(datatableName);
registerDatatable(datatableName, apptableName);
registerDatatable(datatableName, apptableName, entitySubType);
}
}
@@ -72,12 +72,13 @@ public class ReadSurveyServiceImpl implements ReadSurveyService {
while (rs.next()) {
final String appTableName = rs.getString("application_table_name");
final String registeredDatatableName = rs.getString("registered_table_name");
final String entitySubType = rs.getString("entity_subtype");
final boolean enabled = rs.getBoolean("enabled");
final List<ResultsetColumnHeaderData> columnHeaderData = this.genericDataService
.fillResultsetColumnHeaders(registeredDatatableName);
surveyDataTables.add(
SurveyDataTableData.create(DatatableData.create(appTableName, registeredDatatableName, columnHeaderData), enabled));
surveyDataTables.add(SurveyDataTableData
.create(DatatableData.create(appTableName, registeredDatatableName, entitySubType, columnHeaderData), enabled));
}
return surveyDataTables;
@@ -85,7 +86,7 @@ public class ReadSurveyServiceImpl implements ReadSurveyService {
private String retrieveAllSurveySQL(String andClause) {
// PERMITTED datatables
return "select application_table_name, cf.enabled, registered_table_name" + " from x_registered_table "
return "select application_table_name, cf.enabled, registered_table_name, entity_subtype" + " from x_registered_table "
+ " left join c_configuration cf on x_registered_table.registered_table_name = cf.name " + " where exists" + " (select 'f'"
+ " from m_appuser_role ur " + " join m_role r on r.id = ur.role_id"
+ " left join m_role_permission rp on rp.role_id = r.id" + " left join m_permission p on p.id = rp.permission_id"
@@ -98,7 +99,7 @@ public class ReadSurveyServiceImpl implements ReadSurveyService {
@Override
public SurveyDataTableData retrieveSurvey(String surveyName) {
SQLInjectionValidator.validateSQLInput(surveyName);
final String sql = "select cf.enabled, application_table_name, registered_table_name" + " from x_registered_table "
final String sql = "select cf.enabled, application_table_name, registered_table_name, entity_subtype" + " from x_registered_table "
+ " left join c_configuration cf on x_registered_table.registered_table_name = cf.name " + " where exists" + " (select 'f'"
+ " from m_appuser_role ur " + " join m_role r on r.id = ur.role_id"
+ " left join m_role_permission rp on rp.role_id = r.id" + " left join m_permission p on p.id = rp.permission_id"
@@ -112,12 +113,13 @@ public class ReadSurveyServiceImpl implements ReadSurveyService {
while (rs.next()) {
final String appTableName = rs.getString("application_table_name");
final String registeredDatatableName = rs.getString("registered_table_name");
final String entitySubType = rs.getString("entity_subtype");
final boolean enabled = rs.getBoolean("enabled");
final List<ResultsetColumnHeaderData> columnHeaderData = this.genericDataService
.fillResultsetColumnHeaders(registeredDatatableName);
datatableData = SurveyDataTableData.create(DatatableData.create(appTableName, registeredDatatableName, columnHeaderData),
enabled);
datatableData = SurveyDataTableData
.create(DatatableData.create(appTableName, registeredDatatableName, entitySubType, columnHeaderData), enabled);
}
@@ -268,6 +268,8 @@ final class ClientsApiResourceSwagger {
@Schema(example = "1")
public Integer officeId;
@Schema(example = "1")
public Integer legalFormId;
@Schema(example = "Client of group")
public String fullname;
@Schema(example = "1")
@@ -211,12 +211,8 @@ public final class ClientDataValidator {
.integerGreaterThanZero();
}
if (this.fromApiJsonHelper.parameterExists(ClientApiConstants.legalFormIdParamName, element)) {
final Integer legalFormId = this.fromApiJsonHelper.extractIntegerSansLocaleNamed(ClientApiConstants.legalFormIdParamName,
element);
baseDataValidator.reset().parameter(ClientApiConstants.legalFormIdParamName).value(legalFormId).ignoreIfNull().inMinMaxRange(1,
2);
}
final Integer legalFormId = this.fromApiJsonHelper.extractIntegerSansLocaleNamed(ClientApiConstants.legalFormIdParamName, element);
baseDataValidator.reset().parameter(ClientApiConstants.legalFormIdParamName).value(legalFormId).notNull().inMinMaxRange(1, 2);
if (this.fromApiJsonHelper.parameterExists(ClientApiConstants.datatables, element)) {
final JsonArray datatables = this.fromApiJsonHelper.extractJsonArrayNamed(ClientApiConstants.datatables, element);
@@ -508,8 +504,7 @@ public final class ClientDataValidator {
atLeastOneParameterPassedForUpdate = true;
final Integer legalFormId = this.fromApiJsonHelper.extractIntegerSansLocaleNamed(ClientApiConstants.legalFormIdParamName,
element);
baseDataValidator.reset().parameter(ClientApiConstants.legalFormIdParamName).value(legalFormId).ignoreIfNull().inMinMaxRange(1,
2);
baseDataValidator.reset().parameter(ClientApiConstants.legalFormIdParamName).value(legalFormId).notNull().inMinMaxRange(1, 2);
}
if (this.fromApiJsonHelper.parameterExists("isStaff", element)) {
@@ -0,0 +1,20 @@
--
-- 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.
--
ALTER TABLE `x_registered_table` ADD COLUMN `entity_subtype` VARCHAR(50) NULL AFTER `application_table_name`;
@@ -99,12 +99,13 @@ public class LoanImportHandlerTest {
String lastName = Utils.randomNameGenerator("Client_LastName_", 4);
String externalId = Utils.randomStringGenerator("ID_", 7, "ABCDEFGHIJKLMNOPQRSTUVWXYZ");
final HashMap<String, String> clientMap = new HashMap<>();
final HashMap<String, Object> clientMap = new HashMap<>();
clientMap.put("officeId", outcome_office_creation.toString());
clientMap.put("firstname", firstName);
clientMap.put("lastname", lastName);
clientMap.put("externalId", externalId);
clientMap.put("dateFormat", DATE_FORMAT);
clientMap.put("legalFormId", 1);
clientMap.put("locale", "en");
clientMap.put("active", "true");
clientMap.put("activationDate", "04 March 2011");
@@ -89,8 +89,9 @@ public class SavingsImportHandlerTest {
String lastName = Utils.randomNameGenerator("Client_LastName_", 4);
String externalId = Utils.randomStringGenerator("ID_", 7, "ABCDEFGHIJKLMNOPQRSTUVWXYZ");
final HashMap<String, String> clientMap = new HashMap<>();
final HashMap<String, Object> clientMap = new HashMap<>();
clientMap.put("officeId", outcome_office_creation.toString());
clientMap.put("legalFormId", 1);
clientMap.put("firstname", firstName);
clientMap.put("lastname", lastName);
clientMap.put("externalId", externalId);
@@ -55,8 +55,8 @@ public class ClientTest extends IntegrationTest {
// TODO activationDate() why String? https://issues.apache.org/jira/browse/FINERACT-1232
// TODO why dateFormat and locale required even when no activationDate?!
// https://issues.apache.org/jira/browse/FINERACT-1233
return (long) ok(fineract().clients
.create6(new PostClientsRequest().officeId(1).fullname("TestClient").dateFormat(dateFormat()).locale("en_US")))
return (long) ok(fineract().clients.create6(
new PostClientsRequest().legalFormId(1).officeId(1).fullname("TestClient").dateFormat(dateFormat()).locale("en_US")))
.getClientId();
}
@@ -156,8 +156,9 @@ public final class BatchHelper {
extId = externalId;
}
final String body = "{ \"officeId\": 1, \"firstname\": \"Petra\", \"lastname\": \"Yton\"," + "\"externalId\": " + extId
+ ", \"dateFormat\": \"dd MMMM yyyy\", \"locale\": \"en\"," + "\"active\": false, \"submittedOnDate\": \"04 March 2009\"}";
final String body = "{ \"officeId\": 1, \"legalFormId\":1, \"firstname\": \"Petra\", \"lastname\": \"Yton\"," + "\"externalId\": "
+ extId + ", \"dateFormat\": \"dd MMMM yyyy\", \"locale\": \"en\","
+ "\"active\": false, \"submittedOnDate\": \"04 March 2009\"}";
br.setBody(body);
@@ -186,8 +187,8 @@ public final class BatchHelper {
extId = externalId;
}
final String body = "{ \"officeId\": 1, \"firstname\": \"Petra\", \"lastname\": \"Yton\"," + "\"externalId\": \"" + externalId
+ "\", \"dateFormat\": \"dd MMMM yyyy\", \"locale\": \"en\","
final String body = "{ \"officeId\": 1, \"legalFormId\":1, \"firstname\": \"Petra\", \"lastname\": \"Yton\"," + "\"externalId\": \""
+ externalId + "\", \"dateFormat\": \"dd MMMM yyyy\", \"locale\": \"en\","
+ "\"active\": true, \"activationDate\": \"04 March 2010\", \"submittedOnDate\": \"04 March 2010\"}";
br.setBody(body);
@@ -55,6 +55,7 @@ public class ClientHelper {
private static final String WITHDRAW_CLIENT_COMMAND = "withdraw";
private static final String UNDOREJECT_CLIENT_COMMAND = "undoRejection";
private static final String UNDOWITHDRAWN_CLIENT_COMMAND = "undoWithdrawal";
private static final Integer LEGALFORM_ID_PERSON = 1;
public static final String CREATED_DATE = "27 November 2014";
public static final String CREATED_DATE_PLUS_ONE = "28 November 2014";
@@ -181,8 +182,9 @@ public class ClientHelper {
}
public static String getTestClientAsJSON(final String dateOfJoining, final String officeId) {
final HashMap<String, String> map = new HashMap<>();
final HashMap<String, Object> map = new HashMap<>();
map.put("officeId", officeId);
map.put("legalFormId", LEGALFORM_ID_PERSON);
map.put("firstname", Utils.randomNameGenerator("Client_FirstName_", 5));
map.put("lastname", Utils.randomNameGenerator("Client_LastName_", 4));
map.put("externalId", randomIDGenerator("ID_", 7));
@@ -195,8 +197,9 @@ public class ClientHelper {
}
public static String getTestClientAsJSONPending(final String submittedOnDate, final String officeId) {
final HashMap<String, String> map = new HashMap<>();
final HashMap<String, Object> map = new HashMap<>();
map.put("officeId", officeId);
map.put("legalFormId", LEGALFORM_ID_PERSON);
map.put("firstname", Utils.randomNameGenerator("Client_FirstName_", 5));
map.put("lastname", Utils.randomNameGenerator("Client_LastName_", 4));
map.put("externalId", randomIDGenerator("ID_", 7));
@@ -211,6 +214,7 @@ public class ClientHelper {
public static String getTestPendingClientWithDatatableAsJson(final String registeredTableName) {
final HashMap<String, Object> map = new HashMap<>();
map.put("officeId", "1");
map.put("legalFormId", LEGALFORM_ID_PERSON);
map.put("firstname", Utils.randomNameGenerator("Client_FirstName_", 5));
map.put("lastname", Utils.randomNameGenerator("Client_LastName_", 4));
map.put("externalId", randomIDGenerator("ID_", 7));
@@ -276,8 +280,9 @@ public class ClientHelper {
}
public static String getTestClientWithClientTypeAsJSON(final String dateOfJoining, final String officeId, final String clientType) {
final HashMap<String, String> map = new HashMap<>();
final HashMap<String, Object> map = new HashMap<>();
map.put("officeId", officeId);
map.put("legalFormId", LEGALFORM_ID_PERSON);
map.put("firstname", Utils.randomNameGenerator("Client_FirstName_", 5));
map.put("lastname", Utils.randomNameGenerator("Client_LastName_", 4));
map.put("externalId", randomIDGenerator("ID_", 7));
@@ -72,6 +72,7 @@ public class DatatableHelper {
final List<HashMap<String, Object>> datatableColumnsList = new ArrayList<>();
map.put("datatableName", Utils.randomNameGenerator(apptableName + "_", 5));
map.put("apptableName", apptableName);
map.put("entitySubType", "PERSON");
map.put("multiRow", multiRow);
addDatatableColumns(datatableColumnsList, "Spouse Name", "String", true, 25);
addDatatableColumns(datatableColumnsList, "Number of Dependents", "Number", true, null);