From 43ca4f28ce706baf6aa38af28c75eccd97ee03b0 Mon Sep 17 00:00:00 2001 From: Lars Johansson <lars.johansson@ess.eu> Date: Thu, 16 Jun 2022 13:13:02 +0200 Subject: [PATCH] Adjust (ease) requirements on Excel file content for upload Adjust (ease) requirements on Excel file content for upload. Required columns as in Excel templates NameElementCommand and StructureElementCommand. Other columns as in NameElement and StructureElement also allowed. --- .../org/openepics/names/util/ExcelUtil.java | 34 +++++++++++-------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/src/main/java/org/openepics/names/util/ExcelUtil.java b/src/main/java/org/openepics/names/util/ExcelUtil.java index b98389c8..69dabc0a 100644 --- a/src/main/java/org/openepics/names/util/ExcelUtil.java +++ b/src/main/java/org/openepics/names/util/ExcelUtil.java @@ -178,7 +178,7 @@ public class ExcelUtil { continue; } - String value = cell.getStringCellValue(); + String value = columnIndex < NAMEELEMENTCOMMAND_LENGTH ? cell.getStringCellValue() : null; switch (columnIndex) { case 0: nameElementCommand.setUuid(!StringUtils.isEmpty(value) ? UUID.fromString(value) : null); @@ -199,8 +199,11 @@ public class ExcelUtil { nameElementCommand.setComment(value); break; default: - throw new IllegalArgumentException( - MessageFormat.format(INVALID_VALUE_UNEXPECTED_VALUE, value)); + if (columnIndex > NAMEELEMENT_HEADER_COMMENT.length - 1) { + throw new IllegalArgumentException( + MessageFormat.format(INVALID_VALUE_UNEXPECTED_VALUE, value)); + } + break; } } // not add header row @@ -259,7 +262,7 @@ public class ExcelUtil { continue; } - String value = cell.getStringCellValue(); + String value = columnIndex < STRUCTUREELEMENTCOMMAND_LENGTH ? cell.getStringCellValue() : null; switch (columnIndex) { case 0: structureElementCommand.setUuid(!StringUtils.isEmpty(value) ? UUID.fromString(value) : null); @@ -283,8 +286,11 @@ public class ExcelUtil { structureElementCommand.setComment(value); break; default: - throw new IllegalArgumentException( - MessageFormat.format(INVALID_VALUE_UNEXPECTED_VALUE, value)); + if (columnIndex > STRUCTUREELEMENT_HEADER_COMMENT.length - 1) { + throw new IllegalArgumentException( + MessageFormat.format(INVALID_VALUE_UNEXPECTED_VALUE, value)); + } + break; } } @@ -323,7 +329,10 @@ public class ExcelUtil { private static void validateHeaderNameElementCommand(Cell cell) { // validate that columns are NameElementCommand // nothing less or more - // not have (cell.getColumnIndex() >= NAMEELEMENTCOMMAND_LENGTH) to allow NameElement + // have condition to allow NameElementCommand but not NameElement + // cell.getColumnIndex() >= NAMEELEMENTCOMMAND_LENGTH + // throw new IllegalArgumentException( + // MessageFormat.format(INVALID_VALUE_UNEXPECTED_VALUE, cell.getStringCellValue())) if (cell.getColumnIndex() < NAMEELEMENTCOMMAND_LENGTH && !NAMEELEMENT_HEADER_COMMENT[cell.getColumnIndex()][0].equals(cell.getStringCellValue())) { @@ -332,9 +341,6 @@ public class ExcelUtil { INVALID_VALUE_EXPECTED_VALUE, cell.getStringCellValue(), NAMEELEMENT_HEADER_COMMENT[cell.getColumnIndex()][0])); - } else if (cell.getColumnIndex() >= NAMEELEMENTCOMMAND_LENGTH) { - throw new IllegalArgumentException( - MessageFormat.format(INVALID_VALUE_UNEXPECTED_VALUE, cell.getStringCellValue())); } } @@ -346,7 +352,10 @@ public class ExcelUtil { private static void validateHeaderStructureElementCommand(Cell cell) { // validate that columns are StructureElementCommand // nothing less or more - // not have (cell.getColumnIndex() >= STRUCTUREELEMENTCOMMAND_LENGTH) to allow StructureElement + // have condition to allow StructureElementCommand but not StructureElement + // cell.getColumnIndex() >= STRUCTUREELEMENTCOMMAND_LENGTH + // throw new IllegalArgumentException( + // MessageFormat.format(INVALID_VALUE_UNEXPECTED_VALUE, cell.getStringCellValue())) if (cell.getColumnIndex() < STRUCTUREELEMENTCOMMAND_LENGTH && !STRUCTUREELEMENT_HEADER_COMMENT[cell.getColumnIndex()][0].equals(cell.getStringCellValue())) { @@ -355,9 +364,6 @@ public class ExcelUtil { INVALID_VALUE_EXPECTED_VALUE, cell.getStringCellValue(), STRUCTUREELEMENT_HEADER_COMMENT[cell.getColumnIndex()][0])); - } else if (cell.getColumnIndex() >= STRUCTUREELEMENTCOMMAND_LENGTH) { - throw new IllegalArgumentException( - MessageFormat.format(INVALID_VALUE_UNEXPECTED_VALUE, cell.getStringCellValue())); } } -- GitLab