This is an automated email from the ASF dual-hosted git repository. adamsaghy pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/fineract.git
The following commit(s) were added to refs/heads/develop by this push: new 28e9a6213 FINERACT-1911: Assign Data Table to Transaction - validation 28e9a6213 is described below commit 28e9a62137c98dbb15b5247b025c7b36c4b12f7b Author: jmarta <marta.jankov...@dpc.hu> AuthorDate: Tue Aug 29 12:34:06 2023 +0200 FINERACT-1911: Assign Data Table to Transaction - validation --- .../DatatableCommandFromApiJsonDeserializer.java | 65 +++++++++----- .../fineract/integrationtests/BatchApiTest.java | 16 ++-- .../EntityDatatableChecksIntegrationTest.java | 2 +- .../common/system/DatatableHelper.java | 30 +++---- .../datatable/DatatableAdvancedQueryTest.java | 12 +-- .../datatable/DatatableIntegrationTest.java | 99 ++++++++++++++-------- 6 files changed, 136 insertions(+), 88 deletions(-) diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/serialization/DatatableCommandFromApiJsonDeserializer.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/serialization/DatatableCommandFromApiJsonDeserializer.java index 0a8f20068..0d2d96da5 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/serialization/DatatableCommandFromApiJsonDeserializer.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/serialization/DatatableCommandFromApiJsonDeserializer.java @@ -132,7 +132,7 @@ public class DatatableCommandFromApiJsonDeserializer { EntityTables entityTable = EntityTables.fromEntityName(apptableName); validateEntitySubType(baseDataValidator, element, entityTable); - final String fkColumnName = entityTable.getForeignKeyColumnNameOnDatatable(); + final String fkColumnName = entityTable == null ? null : entityTable.getForeignKeyColumnNameOnDatatable(); final Boolean multiRow = this.fromApiJsonHelper.extractBooleanNamed(API_PARAM_MULTIROW, element); baseDataValidator.reset().parameter(API_PARAM_MULTIROW).value(multiRow).ignoreIfNull().notBlank().isOneOfTheseValues(true, false); @@ -303,16 +303,17 @@ public class DatatableCommandFromApiJsonDeserializer { if (type == null) { return; } - final Integer length = this.fromApiJsonHelper.extractIntegerSansLocaleNamed(API_FIELD_LENGTH, column); - JdbcJavaType jdbcType = mapApiTypeToJdbcType(type); - validator = validator.reset().parameter(API_FIELD_LENGTH).value(length); - if (jdbcType.hasPrecision(databaseTypeResolver.databaseType())) { - if (jdbcType.isStringType() && length == null) { - validator.failWithCode("must.be.provided.when.type.is.String"); - } - validator.ignoreIfNull().positiveAmount(); - } // else, the precision is ignored - + JdbcJavaType jdbcType = mapApiTypeToJdbcType(type, false); + if (jdbcType != null) { + final Integer length = this.fromApiJsonHelper.extractIntegerSansLocaleNamed(API_FIELD_LENGTH, column); + validator = validator.reset().parameter(API_FIELD_LENGTH).value(length); + if (jdbcType.hasPrecision(databaseTypeResolver.databaseType())) { + if (jdbcType.isStringType() && length == null) { + validator.failWithCode("must.be.provided.when.type.is.String"); + } + validator.ignoreIfNull().positiveAmount(); + } // else, the precision is ignored + } final String code = this.fromApiJsonHelper.extractStringNamed(API_FIELD_CODE, column); if (type.equalsIgnoreCase(API_FIELD_TYPE_DROPDOWN)) { if (code != null) { @@ -325,20 +326,38 @@ public class DatatableCommandFromApiJsonDeserializer { } } + private static JdbcJavaType mapApiTypeToJdbcType(@NotNull String apiType, boolean fail) { + switch (apiType.toLowerCase()) { + case API_FIELD_TYPE_STRING: + return VARCHAR; + case API_FIELD_TYPE_NUMBER, API_FIELD_TYPE_DROPDOWN: + return INTEGER; + case API_FIELD_TYPE_BOOLEAN: + return BOOLEAN; + case API_FIELD_TYPE_DECIMAL: + return DECIMAL; + case API_FIELD_TYPE_DATE: + return DATE; + case API_FIELD_TYPE_DATETIME: + return DATETIME; + case API_FIELD_TYPE_TIMESTAMP: + return TIMESTAMP; + case API_FIELD_TYPE_TEXT: + return TEXT; + default: { + if (fail) { + throw new PlatformDataIntegrityException("error.msg.datatable.column.type.invalid", + "Column type " + apiType + " is not supported."); + } else { + return null; + } + } + } + } + @NotNull public static JdbcJavaType mapApiTypeToJdbcType(@NotNull String apiType) { - return switch (apiType.toLowerCase()) { - case API_FIELD_TYPE_STRING -> VARCHAR; - case API_FIELD_TYPE_NUMBER, API_FIELD_TYPE_DROPDOWN -> INTEGER; - case API_FIELD_TYPE_BOOLEAN -> BOOLEAN; - case API_FIELD_TYPE_DECIMAL -> DECIMAL; - case API_FIELD_TYPE_DATE -> DATE; - case API_FIELD_TYPE_DATETIME -> DATETIME; - case API_FIELD_TYPE_TIMESTAMP -> TIMESTAMP; - case API_FIELD_TYPE_TEXT -> TEXT; - default -> throw new PlatformDataIntegrityException("error.msg.datatable.column.type.invalid", - "Column type " + apiType + " is not supported."); - }; + return mapApiTypeToJdbcType(apiType, true); } private void validateEntitySubType(final DataValidatorBuilder baseDataValidator, final JsonElement element, diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/BatchApiTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/BatchApiTest.java index 0c6dd7df7..bd2e5d2d4 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/BatchApiTest.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/BatchApiTest.java @@ -1405,8 +1405,8 @@ public class BatchApiTest { columnMap.put("apptableName", LOAN_APP_TABLE_NAME); columnMap.put("entitySubType", "PERSON"); columnMap.put("multiRow", true); - DatatableHelper.addDatatableColumns(datatableColumnsList, columnName1, "String", true, 10, null); - DatatableHelper.addDatatableColumns(datatableColumnsList, columnName2, "String", false, 10, null); + DatatableHelper.addDatatableColumn(datatableColumnsList, columnName1, "String", true, 10, null); + DatatableHelper.addDatatableColumn(datatableColumnsList, columnName2, "String", false, 10, null); columnMap.put("columns", datatableColumnsList); final String datatableRequestJsonString = new Gson().toJson(columnMap); LOG.info("CreateDataTable map : {}", datatableRequestJsonString); @@ -2063,8 +2063,8 @@ public class BatchApiTest { columnMap.put("apptableName", LOAN_APP_TABLE_NAME); columnMap.put("entitySubType", "PERSON"); columnMap.put("multiRow", false); - DatatableHelper.addDatatableColumns(datatableColumnsList, columnName1, "String", true, 10, null); - DatatableHelper.addDatatableColumns(datatableColumnsList, columnName2, "String", false, 10, null); + DatatableHelper.addDatatableColumn(datatableColumnsList, columnName1, "String", true, 10, null); + DatatableHelper.addDatatableColumn(datatableColumnsList, columnName2, "String", false, 10, null); columnMap.put("columns", datatableColumnsList); final String datatableRequestJsonString = new Gson().toJson(columnMap); LOG.info("CreateDataTable map : {}", datatableRequestJsonString); @@ -2128,8 +2128,8 @@ public class BatchApiTest { columnMap.put("apptableName", LOAN_APP_TABLE_NAME); columnMap.put("entitySubType", "PERSON"); columnMap.put("multiRow", false); - DatatableHelper.addDatatableColumns(datatableColumnsList, columnName1, "String", true, 15, null); - DatatableHelper.addDatatableColumns(datatableColumnsList, columnName2, "String", false, 15, null); + DatatableHelper.addDatatableColumn(datatableColumnsList, columnName1, "String", true, 15, null); + DatatableHelper.addDatatableColumn(datatableColumnsList, columnName2, "String", false, 15, null); columnMap.put("columns", datatableColumnsList); final String datatableRequestJsonString = new Gson().toJson(columnMap); LOG.info("CreateDataTable map : {}", datatableRequestJsonString); @@ -2182,8 +2182,8 @@ public class BatchApiTest { columnMap.put("apptableName", LOAN_APP_TABLE_NAME); columnMap.put("entitySubType", "PERSON"); columnMap.put("multiRow", true); - DatatableHelper.addDatatableColumns(datatableColumnsList, columnName1, "String", true, 10, null); - DatatableHelper.addDatatableColumns(datatableColumnsList, columnName2, "String", false, 10, null); + DatatableHelper.addDatatableColumn(datatableColumnsList, columnName1, "String", true, 10, null); + DatatableHelper.addDatatableColumn(datatableColumnsList, columnName2, "String", false, 10, null); columnMap.put("columns", datatableColumnsList); final String datatableRequestJsonString = new Gson().toJson(columnMap); LOG.info("CreateDataTable map : {}", datatableRequestJsonString); diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/organisation/EntityDatatableChecksIntegrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/organisation/EntityDatatableChecksIntegrationTest.java index 17c458691..03c7661ed 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/organisation/EntityDatatableChecksIntegrationTest.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/organisation/EntityDatatableChecksIntegrationTest.java @@ -567,7 +567,7 @@ public class EntityDatatableChecksIntegrationTest { .toLowerCase(); String itsAString = "itsastring"; - DatatableHelper.addDatatableColumns(datatableColumnsList, itsAString, "String", true, 10, null); + DatatableHelper.addDatatableColumn(datatableColumnsList, itsAString, "String", true, 10, null); // Person Subtype columnMap.put("datatableName", datatableNamePerson); diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/system/DatatableHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/system/DatatableHelper.java index 5bdd75972..f40e11a96 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/system/DatatableHelper.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/system/DatatableHelper.java @@ -188,14 +188,14 @@ public class DatatableHelper extends IntegrationTest { map.put("entitySubType", ""); } map.put("multiRow", multiRow); - addDatatableColumns(datatableColumnsList, "itsABoolean", "Boolean", false, null, null); - addDatatableColumns(datatableColumnsList, "itsADate", "Date", true, null, null); - addDatatableColumns(datatableColumnsList, "itsADatetime", "Datetime", true, null, null); - addDatatableColumns(datatableColumnsList, "itsADecimal", "Decimal", true, null, null); - addDatatableColumns(datatableColumnsList, "itsADropdown", "Dropdown", false, null, codeName); - addDatatableColumns(datatableColumnsList, "itsANumber", "Number", true, null, null); - addDatatableColumns(datatableColumnsList, "itsAString", "String", true, 10, null); - addDatatableColumns(datatableColumnsList, "itsAText", "Text", true, null, null); + addDatatableColumn(datatableColumnsList, "itsABoolean", "Boolean", false, null, null); + addDatatableColumn(datatableColumnsList, "itsADate", "Date", true, null, null); + addDatatableColumn(datatableColumnsList, "itsADatetime", "Datetime", true, null, null); + addDatatableColumn(datatableColumnsList, "itsADecimal", "Decimal", true, null, null); + addDatatableColumn(datatableColumnsList, "itsADropdown", "Dropdown", false, null, codeName); + addDatatableColumn(datatableColumnsList, "itsANumber", "Number", true, null, null); + addDatatableColumn(datatableColumnsList, "itsAString", "String", true, 10, null); + addDatatableColumn(datatableColumnsList, "itsAText", "Text", true, null, null); map.put("columns", datatableColumnsList); String requestJsonString = new Gson().toJson(map); LOG.info("map : {}", requestJsonString); @@ -209,10 +209,10 @@ public class DatatableHelper extends IntegrationTest { map.put("apptableName", apptableName); map.put("entitySubType", "PERSON"); map.put("multiRow", multiRow); - addDatatableColumns(datatableColumnsList, "Spouse Name", "String", true, 25, null); - addDatatableColumns(datatableColumnsList, "Number of Dependents", "Number", true, null, null); - addDatatableColumns(datatableColumnsList, "Time of Visit", "DateTime", false, null, null); - addDatatableColumns(datatableColumnsList, "Date of Approval", "Date", false, null, null); + addDatatableColumn(datatableColumnsList, "Spouse Name", "String", true, 25, null); + addDatatableColumn(datatableColumnsList, "Number of Dependents", "Number", true, null, null); + addDatatableColumn(datatableColumnsList, "Time of Visit", "DateTime", false, null, null); + addDatatableColumn(datatableColumnsList, "Date of Approval", "Date", false, null, null); map.put("columns", datatableColumnsList); String requestJsonString = new Gson().toJson(map); LOG.info("map : {}", requestJsonString); @@ -232,7 +232,7 @@ public class DatatableHelper extends IntegrationTest { return requestJsonString; } - public static List<HashMap<String, Object>> addDatatableColumns(List<HashMap<String, Object>> datatableColumnsList, String columnName, + public static HashMap<String, Object> addDatatableColumn(List<HashMap<String, Object>> datatableColumnsList, String columnName, String columnType, boolean isMandatory, Integer length, String codeName) { final HashMap<String, Object> datatableColumnMap = new HashMap<>(); @@ -249,10 +249,10 @@ public class DatatableHelper extends IntegrationTest { } datatableColumnsList.add(datatableColumnMap); - return datatableColumnsList; + return datatableColumnMap; } - public static List<HashMap<String, Object>> addDatatableColumnsWithUniqueAndIndex(List<HashMap<String, Object>> datatableColumnsList, + public static List<HashMap<String, Object>> addDatatableColumnWithUniqueAndIndex(List<HashMap<String, Object>> datatableColumnsList, String columnName, String columnType, boolean isMandatory, Integer length, String codeName, boolean isUnique, boolean isIndexed) { diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/datatable/DatatableAdvancedQueryTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/datatable/DatatableAdvancedQueryTest.java index 5df73fb1d..e47b1de62 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/datatable/DatatableAdvancedQueryTest.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/datatable/DatatableAdvancedQueryTest.java @@ -315,13 +315,13 @@ public class DatatableAdvancedQueryTest { request.put(API_PARAM_MULTIROW, multiRow); final List<HashMap<String, Object>> datatableColumns = new ArrayList<>(); - DatatableHelper.addDatatableColumnsWithUniqueAndIndex(datatableColumns, COLUMN_STRING, API_FIELD_TYPE_STRING, true, 50, null, + DatatableHelper.addDatatableColumnWithUniqueAndIndex(datatableColumns, COLUMN_STRING, API_FIELD_TYPE_STRING, true, 50, null, !multiRow, true); - DatatableHelper.addDatatableColumns(datatableColumns, COLUMN_TEXT, API_FIELD_TYPE_TEXT, false, null, null); - DatatableHelper.addDatatableColumns(datatableColumns, COLUMN_DATE, API_FIELD_TYPE_DATE, true, null, null); - DatatableHelper.addDatatableColumns(datatableColumns, COLUMN_BOOLEAN, API_FIELD_TYPE_BOOLEAN, false, null, null); - DatatableHelper.addDatatableColumns(datatableColumns, COLUMN_INTEGER, API_FIELD_TYPE_NUMBER, false, null, null); - DatatableHelper.addDatatableColumns(datatableColumns, COLUMN_DECIMAL, API_FIELD_TYPE_DECIMAL, false, null, null); + DatatableHelper.addDatatableColumn(datatableColumns, COLUMN_TEXT, API_FIELD_TYPE_TEXT, false, null, null); + DatatableHelper.addDatatableColumn(datatableColumns, COLUMN_DATE, API_FIELD_TYPE_DATE, true, null, null); + DatatableHelper.addDatatableColumn(datatableColumns, COLUMN_BOOLEAN, API_FIELD_TYPE_BOOLEAN, false, null, null); + DatatableHelper.addDatatableColumn(datatableColumns, COLUMN_INTEGER, API_FIELD_TYPE_NUMBER, false, null, null); + DatatableHelper.addDatatableColumn(datatableColumns, COLUMN_DECIMAL, API_FIELD_TYPE_DECIMAL, false, null, null); request.put(API_PARAM_COLUMNS, datatableColumns); String requestJson = new Gson().toJson(request); diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/datatable/DatatableIntegrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/datatable/DatatableIntegrationTest.java index 3a0f6c5be..a66697575 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/datatable/DatatableIntegrationTest.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/datatable/DatatableIntegrationTest.java @@ -18,10 +18,12 @@ */ package org.apache.fineract.integrationtests.datatable; +import static org.apache.fineract.integrationtests.common.system.DatatableHelper.addDatatableColumn; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertTrue; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -127,7 +129,6 @@ public class DatatableIntegrationTest extends IntegrationTest { final HashMap<String, Object> columnMap = new HashMap<>(); final List<HashMap<String, Object>> datatableColumnsList = new ArrayList<>(); columnMap.put("datatableName", Utils.uniqueRandomStringGenerator(CLIENT_APP_TABLE_NAME + "_", 5).toLowerCase().toLowerCase()); - columnMap.put("apptableName", CLIENT_APP_TABLE_NAME); columnMap.put("entitySubType", "PERSON"); columnMap.put("multiRow", false); String itsABoolean = "itsaboolean"; @@ -141,27 +142,55 @@ public class DatatableIntegrationTest extends IntegrationTest { String tst_tst_tst_cd_itsADropdown = tst_tst_tst + "_cd_itsadropdown"; String dateFormat = "dateFormat"; - DatatableHelper.addDatatableColumns(datatableColumnsList, itsABoolean, "Boolean", false, null, null); - DatatableHelper.addDatatableColumns(datatableColumnsList, itsADate, "Date", true, null, null); - DatatableHelper.addDatatableColumns(datatableColumnsList, itsADatetime, "Datetime", true, null, null); - DatatableHelper.addDatatableColumns(datatableColumnsList, itsADecimal, "Decimal", true, null, null); - DatatableHelper.addDatatableColumns(datatableColumnsList, itsADropdown, "Dropdown", false, null, tst_tst_tst); - DatatableHelper.addDatatableColumns(datatableColumnsList, itsANumber, "Number", true, null, null); - DatatableHelper.addDatatableColumns(datatableColumnsList, itsAString, "String", true, 10, null); - DatatableHelper.addDatatableColumns(datatableColumnsList, itsAText, "Text", true, null, null); + addDatatableColumn(datatableColumnsList, itsABoolean, "Boolean", false, null, null); + addDatatableColumn(datatableColumnsList, itsADate, "Date", true, null, null); + addDatatableColumn(datatableColumnsList, itsADatetime, "Datetime", true, null, null); + addDatatableColumn(datatableColumnsList, itsADecimal, "Decimal", true, null, null); + addDatatableColumn(datatableColumnsList, itsADropdown, "Dropdown", false, null, tst_tst_tst); + addDatatableColumn(datatableColumnsList, itsANumber, "Number", true, null, null); + addDatatableColumn(datatableColumnsList, itsAString, "String", true, 10, null); columnMap.put("columns", datatableColumnsList); + + // try to create datatable without apptable + columnMap.put("apptableName", null); + String errorRequestJsonString = new Gson().toJson(columnMap); + ResponseSpecification responseSpecError400 = new ResponseSpecBuilder().expectStatusCode(400).build(); + this.datatableHelper = new DatatableHelper(this.requestSpec, responseSpecError400); + HashMap<String, Object> errorResponse = this.datatableHelper.createDatatable(errorRequestJsonString, ""); + assertEquals("validation.msg.validation.errors.exist", ((Map) errorResponse).get("userMessageGlobalisationCode")); + List errors = (List) ((Map) errorResponse).get("errors"); + assertEquals(2, errors.size()); + assertEquals("validation.msg.datatable.apptableName.cannot.be.blank", ((Map) errors.get(0)).get("userMessageGlobalisationCode")); + assertEquals("validation.msg.datatable.apptableName.is.not.one.of.expected.enumerations", + ((Map) errors.get(1)).get("userMessageGlobalisationCode")); + // set valid apptable name + columnMap.put("apptableName", CLIENT_APP_TABLE_NAME); + + // try to create datatable with invalid column type + HashMap<String, Object> textColumn = addDatatableColumn(datatableColumnsList, itsAText, "Invalid", true, null, null); + errorRequestJsonString = new Gson().toJson(columnMap); + errorResponse = this.datatableHelper.createDatatable(errorRequestJsonString, ""); + assertEquals("validation.msg.validation.errors.exist", ((Map) errorResponse).get("userMessageGlobalisationCode")); + errors = (List) ((Map) errorResponse).get("errors"); + assertEquals(1, errors.size()); + Map error = (Map) errors.get(0); + assertEquals("validation.msg.datatable.type.is.not.one.of.expected.enumerations", error.get("userMessageGlobalisationCode")); + assertTrue(((String) error.get("defaultUserMessage")).contains("string, number, boolean, decimal, date, datetime, text, dropdown")); + // set valid type + textColumn.put("type", "Text"); + String datatabelRequestJsonString = new Gson().toJson(columnMap); LOG.info("map : {}", datatabelRequestJsonString); + this.datatableHelper = new DatatableHelper(this.requestSpec, this.responseSpec); HashMap<String, Object> datatableResponse = this.datatableHelper.createDatatable(datatabelRequestJsonString, ""); String datatableName = (String) datatableResponse.get("resourceIdentifier"); DatatableHelper.verifyDatatableCreatedOnServer(this.requestSpec, this.responseSpec, datatableName); // try to create with the same name - ResponseSpecification responseSpecError400 = new ResponseSpecBuilder().expectStatusCode(400).build(); this.datatableHelper = new DatatableHelper(this.requestSpec, responseSpecError400); - HashMap<String, Object> response = this.datatableHelper.createDatatable(datatabelRequestJsonString, ""); - assertEquals("validation.msg.validation.errors.exist", ((Map) response).get("userMessageGlobalisationCode")); + errorResponse = this.datatableHelper.createDatatable(datatabelRequestJsonString, ""); + assertEquals("validation.msg.validation.errors.exist", ((Map) errorResponse).get("userMessageGlobalisationCode")); this.datatableHelper = new DatatableHelper(this.requestSpec, this.responseSpec); // creating client with datatables @@ -326,9 +355,9 @@ public class DatatableIntegrationTest extends IntegrationTest { String itsAString = "itsAString"; String dateFormat = "dateFormat"; - DatatableHelper.addDatatableColumns(datatableColumnsList, itsADate, "Date", true, null, null); - DatatableHelper.addDatatableColumns(datatableColumnsList, itsADecimal, "Decimal", true, null, null); - DatatableHelper.addDatatableColumns(datatableColumnsList, itsAString, "String", true, 10, null); + addDatatableColumn(datatableColumnsList, itsADate, "Date", true, null, null); + addDatatableColumn(datatableColumnsList, itsADecimal, "Decimal", true, null, null); + addDatatableColumn(datatableColumnsList, itsAString, "String", true, 10, null); columnMap.put("columns", datatableColumnsList); String datatabelRequestJsonString = new Gson().toJson(columnMap); LOG.info("map : {}", datatabelRequestJsonString); @@ -425,14 +454,14 @@ public class DatatableIntegrationTest extends IntegrationTest { columnMap.put("apptableName", LOAN_APP_TABLE_NAME); columnMap.put("entitySubType", ""); columnMap.put("multiRow", true); - DatatableHelper.addDatatableColumns(datatableColumnsList, "itsABoolean", "Boolean", false, null, null); - DatatableHelper.addDatatableColumns(datatableColumnsList, "itsADate", "Date", false, null, null); - DatatableHelper.addDatatableColumns(datatableColumnsList, "itsADatetime", "Datetime", false, null, null); - DatatableHelper.addDatatableColumns(datatableColumnsList, "itsADecimal", "Decimal", false, null, null); - DatatableHelper.addDatatableColumns(datatableColumnsList, "itsADropdown", "Dropdown", false, null, "TST_TST_TST"); - DatatableHelper.addDatatableColumns(datatableColumnsList, "itsANumber", "Number", false, null, null); - DatatableHelper.addDatatableColumns(datatableColumnsList, "itsAString", "String", false, 10, null); - DatatableHelper.addDatatableColumns(datatableColumnsList, "itsAText", "Text", false, null, null); + addDatatableColumn(datatableColumnsList, "itsABoolean", "Boolean", false, null, null); + addDatatableColumn(datatableColumnsList, "itsADate", "Date", false, null, null); + addDatatableColumn(datatableColumnsList, "itsADatetime", "Datetime", false, null, null); + addDatatableColumn(datatableColumnsList, "itsADecimal", "Decimal", false, null, null); + addDatatableColumn(datatableColumnsList, "itsADropdown", "Dropdown", false, null, "TST_TST_TST"); + addDatatableColumn(datatableColumnsList, "itsANumber", "Number", false, null, null); + addDatatableColumn(datatableColumnsList, "itsAString", "String", false, 10, null); + addDatatableColumn(datatableColumnsList, "itsAText", "Text", false, null, null); columnMap.put("columns", datatableColumnsList); String datatabelRequestJsonString = new Gson().toJson(columnMap); LOG.info("map : {}", datatabelRequestJsonString); @@ -556,8 +585,8 @@ public class DatatableIntegrationTest extends IntegrationTest { columnMap.put("apptableName", CLIENT_APP_TABLE_NAME); columnMap.put("entitySubType", CLIENT_PERSON_SUBTYPE_NAME); columnMap.put("multiRow", false); - DatatableHelper.addDatatableColumns(datatableColumnsList, "itsANumber", "Number", false, null, null); - DatatableHelper.addDatatableColumns(datatableColumnsList, "itsAString", "String", false, 10, null); + addDatatableColumn(datatableColumnsList, "itsANumber", "Number", false, null, null); + addDatatableColumn(datatableColumnsList, "itsAString", "String", false, 10, null); columnMap.put("columns", datatableColumnsList); String datatabelRequestJsonString = new Gson().toJson(columnMap); LOG.info("map : {}", datatabelRequestJsonString); @@ -597,7 +626,7 @@ public class DatatableIntegrationTest extends IntegrationTest { columnMap.put("apptableName", CLIENT_APP_TABLE_NAME); columnMap.put("entitySubType", CLIENT_PERSON_SUBTYPE_NAME); datatableColumnsList = new ArrayList<>(); - DatatableHelper.addDatatableColumns(datatableColumnsList, "itsAText", "Text", false, null, null); + addDatatableColumn(datatableColumnsList, "itsAText", "Text", false, null, null); columnMap.put("addColumns", datatableColumnsList); datatabelRequestJsonString = new Gson().toJson(columnMap); LOG.info("map to update : {}", datatabelRequestJsonString); @@ -643,7 +672,7 @@ public class DatatableIntegrationTest extends IntegrationTest { List<Map<String, Object>> dropColumnsList = Collections.singletonList(Collections.singletonMap("name", "itsANumber")); columnMap.put("dropColumns", dropColumnsList); ArrayList<HashMap<String, Object>> changeColumnsList = new ArrayList<>(); - DatatableHelper.addDatatableColumns(changeColumnsList, "itsAString", null, false, 100, null); + addDatatableColumn(changeColumnsList, "itsAString", null, false, 100, null); columnMap.put("changeColumns", changeColumnsList); datatabelRequestJsonString = new Gson().toJson(columnMap); LOG.info("map to update : {}", datatabelRequestJsonString); @@ -689,14 +718,14 @@ public class DatatableIntegrationTest extends IntegrationTest { columnMap.put("apptableName", LOAN_APP_TABLE_NAME); columnMap.put("entitySubType", ""); columnMap.put("multiRow", true); - DatatableHelper.addDatatableColumns(datatableColumnsList, "itsABoolean", "Boolean", false, null, null); - DatatableHelper.addDatatableColumns(datatableColumnsList, "itsADate", "Date", false, null, null); - DatatableHelper.addDatatableColumns(datatableColumnsList, "itsADatetime", "Datetime", false, null, null); - DatatableHelper.addDatatableColumns(datatableColumnsList, "itsADecimal", "Decimal", false, null, null); - DatatableHelper.addDatatableColumns(datatableColumnsList, "itsADropdown", "Dropdown", false, null, tst_tst_tst); - DatatableHelper.addDatatableColumns(datatableColumnsList, "itsANumber", "Number", false, null, null); - DatatableHelper.addDatatableColumns(datatableColumnsList, "itsAString", "String", false, 10, null); - DatatableHelper.addDatatableColumns(datatableColumnsList, "itsAText", "Text", false, null, null); + addDatatableColumn(datatableColumnsList, "itsABoolean", "Boolean", false, null, null); + addDatatableColumn(datatableColumnsList, "itsADate", "Date", false, null, null); + addDatatableColumn(datatableColumnsList, "itsADatetime", "Datetime", false, null, null); + addDatatableColumn(datatableColumnsList, "itsADecimal", "Decimal", false, null, null); + addDatatableColumn(datatableColumnsList, "itsADropdown", "Dropdown", false, null, tst_tst_tst); + addDatatableColumn(datatableColumnsList, "itsANumber", "Number", false, null, null); + addDatatableColumn(datatableColumnsList, "itsAString", "String", false, 10, null); + addDatatableColumn(datatableColumnsList, "itsAText", "Text", false, null, null); columnMap.put("columns", datatableColumnsList); String datatabelRequestJsonString = new Gson().toJson(columnMap); LOG.info("map : {}", datatabelRequestJsonString);