Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -37,22 +37,22 @@ public Integer getRowNumber(Integer row) {

@Override
public ValidationError getTraitIdDoesNotExistMsg() {
return new ValidationError("traitId", "Missing trait id", HttpStatus.UNPROCESSABLE_ENTITY);
return new ValidationError("Trait Id", "Missing trait id", HttpStatus.UNPROCESSABLE_ENTITY);
}

@Override
public ValidationError getMissingMethodMsg() {
return new ValidationError("method", "Missing method", HttpStatus.UNPROCESSABLE_ENTITY);
return new ValidationError("Method", "Missing method", HttpStatus.UNPROCESSABLE_ENTITY);
}

@Override
public ValidationError getMissingMethodClassMsg() {
return new ValidationError("Method class", "Missing method class", HttpStatus.UNPROCESSABLE_ENTITY);
return new ValidationError("Method Class", "Missing method class", HttpStatus.UNPROCESSABLE_ENTITY);
}

@Override
public ValidationError getMissingScaleMsg() {
return new ValidationError("scale", "Missing scale class", HttpStatus.UNPROCESSABLE_ENTITY);
return new ValidationError("Scale", "Missing scale class", HttpStatus.UNPROCESSABLE_ENTITY);
}

@Override
Expand All @@ -62,49 +62,49 @@ public ValidationError getMissingScaleNameMsg() {

@Override
public ValidationError getMissingScaleDataTypeMsg() {
return new ValidationError("Scale class", "Missing scale class", HttpStatus.UNPROCESSABLE_ENTITY);
return new ValidationError("Scale Class", "Missing scale class", HttpStatus.UNPROCESSABLE_ENTITY);
}

@Override
public ValidationError getMissingObsVarNameMsg() {
return new ValidationError("Observation variable name", "Missing observation variable name", HttpStatus.UNPROCESSABLE_ENTITY);
return new ValidationError("Name", "Missing name", HttpStatus.UNPROCESSABLE_ENTITY);
}

@Override
public ValidationError getMissingTraitEntityMsg() {
return new ValidationError("Trait entity", "Missing trait entity", HttpStatus.UNPROCESSABLE_ENTITY);
return new ValidationError("Trait Entity", "Missing trait entity", HttpStatus.UNPROCESSABLE_ENTITY);
}

@Override
public ValidationError getMissingTraitAttributeMsg() {
return new ValidationError("Trait attribute", "Missing trait attribute", HttpStatus.UNPROCESSABLE_ENTITY);
return new ValidationError("Trait Attribute", "Missing trait attribute", HttpStatus.UNPROCESSABLE_ENTITY);
}

@Override
public ValidationError getMissingTraitDescriptionMsg() {
return new ValidationError("Trait description", "Missing trait description", HttpStatus.UNPROCESSABLE_ENTITY);
return new ValidationError("Trait Description", "Missing trait description", HttpStatus.UNPROCESSABLE_ENTITY);
}

@Override
public ValidationError getMissingProgramObservationLevelMsg() {
return new ValidationError("Trait level", "Missing trait level", HttpStatus.UNPROCESSABLE_ENTITY);
return new ValidationError("Trait Level", "Missing trait level", HttpStatus.UNPROCESSABLE_ENTITY);
}

@Override
public ValidationError getMissingMethodFormulaMsg() {
return new ValidationError("Method formula", "Missing method formula for Computation method", HttpStatus.UNPROCESSABLE_ENTITY);
return new ValidationError("Method Formula", "Missing method formula for Computation method", HttpStatus.UNPROCESSABLE_ENTITY);
}

@Override
public ValidationError getMissingScaleCategoriesMsg(DataType dataType) {
return new ValidationError("Scale categories",
return new ValidationError("Scale Categories",
String.format("Missing scale categories for %s scale", WordUtils.capitalize(dataType.getLiteral().toLowerCase())),
HttpStatus.UNPROCESSABLE_ENTITY);
}

@Override
public ValidationError getBadScaleCategory() {
return new ValidationError("Scale categories", "Scale categories contain errors", HttpStatus.UNPROCESSABLE_ENTITY);
return new ValidationError("Scale Categories", "Scale categories contain errors", HttpStatus.UNPROCESSABLE_ENTITY);
}

@Override
Expand All @@ -130,43 +130,43 @@ public ValidationError getMaxLessThenMinError() {

@Override
public ValidationError getInsufficientNominalValError() {
return new ValidationError("scale.categories", "Nominal scales must have at least one category.", HttpStatus.UNPROCESSABLE_ENTITY);
return new ValidationError("Scale Categories", "Nominal scales must have at least one category.", HttpStatus.UNPROCESSABLE_ENTITY);
}

@Override
public ValidationError getInsufficientOrdinalValError() {
return new ValidationError("scale.categories", "Ordinal scales must have at least two categories.", HttpStatus.UNPROCESSABLE_ENTITY);
return new ValidationError("Scale Categories", "Ordinal scales must have at least two categories.", HttpStatus.UNPROCESSABLE_ENTITY);
}

@Override
public ValidationError getCharLimitObsVarNameMsg() {
return new ValidationError("observationVariableName", "Observation variable name exceeds 12 character limit", HttpStatus.UNPROCESSABLE_ENTITY);
return new ValidationError("Name", "Name exceeds 12 character limit", HttpStatus.UNPROCESSABLE_ENTITY);
}

@Override
public ValidationError getCharLimitTraitEntityMsg() {
return new ValidationError("entity", "Trait entity exceeds 30 character limit", HttpStatus.UNPROCESSABLE_ENTITY);
return new ValidationError("Entity", "Trait entity exceeds 30 character limit", HttpStatus.UNPROCESSABLE_ENTITY);
}

@Override
public ValidationError getCharLimitTraitAttributeMsg() {
return new ValidationError("attribute", "Trait attribute exceeds 30 character limit", HttpStatus.UNPROCESSABLE_ENTITY);
return new ValidationError("Attribute", "Trait attribute exceeds 30 character limit", HttpStatus.UNPROCESSABLE_ENTITY);
}

@Override
public ValidationError getCharLimitMethodDescriptionMsg() {
return new ValidationError("method.description", "Method description exceeds 30 character limit", HttpStatus.UNPROCESSABLE_ENTITY);
return new ValidationError("Method Description", "Method description exceeds 30 character limit", HttpStatus.UNPROCESSABLE_ENTITY);
}

@Override
public ValidationError getDuplicateTraitByNamesMsg() {
return new ValidationError("Trait name", "Trait name already exists", HttpStatus.CONFLICT);
return new ValidationError("Trait Name", "Trait name already exists", HttpStatus.CONFLICT);
}

@Override
public ValidationError getDuplicateTraitsByNameInFileMsg(List<Integer> matchingRows) {
matchingRows = matchingRows.stream().map(rowIndex -> getRowNumber(rowIndex)).collect(Collectors.toList());
return new ValidationError("Trait name",
return new ValidationError("Trait Name",
"Trait name duplicated in file. Duplicate set of traits are rows " + matchingRows.toString(),
HttpStatus.CONFLICT);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,137 +37,137 @@ public Integer getRowNumber(Integer row) {

@Override
public ValidationError getTraitIdDoesNotExistMsg() {
return new ValidationError("traitId", "Trait with that id does not exist", HttpStatus.NOT_FOUND);
return new ValidationError("Trait Id", "Trait with that id does not exist", HttpStatus.NOT_FOUND);
}

@Override
public ValidationError getMissingMethodMsg() {
return new ValidationError("method", "Missing method", HttpStatus.BAD_REQUEST);
return new ValidationError("Method", "Missing method", HttpStatus.BAD_REQUEST);
}

@Override
public ValidationError getMissingMethodClassMsg() {
return new ValidationError("method.methodClass", "Missing method class", HttpStatus.BAD_REQUEST);
return new ValidationError("Method Class", "Missing method class", HttpStatus.BAD_REQUEST);
}

@Override
public ValidationError getMissingScaleMsg() {
return new ValidationError("scale", "Missing scale", HttpStatus.BAD_REQUEST);
return new ValidationError("Scale", "Missing scale", HttpStatus.BAD_REQUEST);
}

@Override
public ValidationError getMissingScaleNameMsg() {
return new ValidationError("scale.scaleName", "Missing scale name", HttpStatus.BAD_REQUEST);
return new ValidationError("Scale Name", "Missing scale name", HttpStatus.BAD_REQUEST);
}

@Override
public ValidationError getMissingScaleDataTypeMsg() {
return new ValidationError("scale.dataType", "Missing scale data type", HttpStatus.BAD_REQUEST);
return new ValidationError("Scale Data Type", "Missing scale data type", HttpStatus.BAD_REQUEST);
}

@Override
public ValidationError getMissingObsVarNameMsg() {
return new ValidationError("observationVariableName", "Missing observation variable name", HttpStatus.BAD_REQUEST);
return new ValidationError("Name", "Missing Name", HttpStatus.BAD_REQUEST);
}

@Override
public ValidationError getMissingTraitEntityMsg() {
return new ValidationError("entity", "Missing trait entity", HttpStatus.BAD_REQUEST);
return new ValidationError("Entity", "Missing trait entity", HttpStatus.BAD_REQUEST);
}

@Override
public ValidationError getMissingTraitAttributeMsg() {
return new ValidationError("attribute", "Missing trait attribute", HttpStatus.BAD_REQUEST);
return new ValidationError("Attribute", "Missing trait attribute", HttpStatus.BAD_REQUEST);
}

@Override
public ValidationError getMissingTraitDescriptionMsg() {
return new ValidationError("traitDescription", "Missing trait description", HttpStatus.BAD_REQUEST);
return new ValidationError("Trait Description", "Missing trait description", HttpStatus.BAD_REQUEST);
}

@Override
public ValidationError getMissingProgramObservationLevelMsg() {
return new ValidationError("programObservationLevel.name", "Missing program observation level", HttpStatus.BAD_REQUEST);
return new ValidationError("Program Observation Level Name", "Missing program observation level", HttpStatus.BAD_REQUEST);
}

@Override
public ValidationError getMissingMethodFormulaMsg() {
return new ValidationError("method.formula", "Missing method formula for Computation method", HttpStatus.BAD_REQUEST);
return new ValidationError("Method Formula", "Missing method formula for Computation method", HttpStatus.BAD_REQUEST);
}

@Override
public ValidationError getMissingScaleCategoriesMsg(DataType dataType) {
return new ValidationError("scale.categories",
return new ValidationError("Scale Categories",
String.format("Missing scale categories for %s scale", WordUtils.capitalize(dataType.getLiteral().toLowerCase())),
HttpStatus.BAD_REQUEST);
}

@Override
public ValidationError getBadScaleCategory() {
return new ValidationError("scale.categories", "Scale categories contain errors", HttpStatus.UNPROCESSABLE_ENTITY);
return new ValidationError("Scale Categories", "Scale categories contain errors", HttpStatus.UNPROCESSABLE_ENTITY);
}

@Override
public ValidationError getBlankScaleCategoryLabelMsg() {
return new ValidationError("scale.categories.label",
return new ValidationError("Scale Categories Label",
"Label missing.",
HttpStatus.UNPROCESSABLE_ENTITY);
}

@Override
public ValidationError getBlankScaleCategoryValueMsg() {
return new ValidationError("scale.categories.value",
return new ValidationError("Scale Categories Value",
"Value missing.",
HttpStatus.UNPROCESSABLE_ENTITY);
}

@Override
public ValidationError getMaxLessThenMinError() {
return new ValidationError("scale.validValueMax",
return new ValidationError("Scale Valid Value Max",
"Scale valid value max must be greater than valid value min.",
HttpStatus.UNPROCESSABLE_ENTITY);
}

@Override
public ValidationError getInsufficientNominalValError() {
return new ValidationError("scale.categories", "Nominal scales must have at least one category.", HttpStatus.UNPROCESSABLE_ENTITY);
return new ValidationError("Scale Categories", "Nominal scales must have at least one category.", HttpStatus.UNPROCESSABLE_ENTITY);
}

@Override
public ValidationError getInsufficientOrdinalValError() {
return new ValidationError("scale.categories", "Ordinal scales must have at least two categories.", HttpStatus.UNPROCESSABLE_ENTITY);
return new ValidationError("Scale Categories", "Ordinal scales must have at least two categories.", HttpStatus.UNPROCESSABLE_ENTITY);
}

@Override
public ValidationError getCharLimitObsVarNameMsg() {
return new ValidationError("observationVariableName", "Observation variable name exceeds 12 character limit", HttpStatus.UNPROCESSABLE_ENTITY);
return new ValidationError("Name", "Name exceeds 12 character limit", HttpStatus.UNPROCESSABLE_ENTITY);
}

@Override
public ValidationError getCharLimitTraitEntityMsg() {
return new ValidationError("entity", "Trait entity exceeds 30 character limit", HttpStatus.UNPROCESSABLE_ENTITY);
return new ValidationError("Entity", "Trait entity exceeds 30 character limit", HttpStatus.UNPROCESSABLE_ENTITY);
}

@Override
public ValidationError getCharLimitTraitAttributeMsg() {
return new ValidationError("attribute", "Trait attribute exceeds 30 character limit", HttpStatus.UNPROCESSABLE_ENTITY);
return new ValidationError("Attribute", "Trait attribute exceeds 30 character limit", HttpStatus.UNPROCESSABLE_ENTITY);
}

@Override
public ValidationError getCharLimitMethodDescriptionMsg() {
return new ValidationError("method.description", "Method description exceeds 30 character limit", HttpStatus.UNPROCESSABLE_ENTITY);
return new ValidationError("Method Description", "Method description exceeds 30 character limit", HttpStatus.UNPROCESSABLE_ENTITY);
}

@Override
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should the terminology here and in TraitValidationError be changed to name rather than trait name? Should it also be capitalized?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Trait name is now a concatenation of entity + attribute; whereas, obs var. name is the Name. So my feeling is to keep trait name as is for now, but I updated the rest of the field names to have consistent formatting/capitalization.

public ValidationError getDuplicateTraitByNamesMsg() {
return new ValidationError("traitName", "Trait name already exists", HttpStatus.CONFLICT);
return new ValidationError("Trait Name", "Trait name already exists", HttpStatus.CONFLICT);
}


@Override
public ValidationError getDuplicateTraitsByNameInFileMsg(List<Integer> matchingRows) {
matchingRows = matchingRows.stream().map(rowIndex -> getRowNumber(rowIndex)).collect(Collectors.toList());
return new ValidationError("traitName",
return new ValidationError("Trait Name",
"traitName is a duplicate. Duplicate set of traits are rows " + matchingRows.toString(),
HttpStatus.CONFLICT);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1004,12 +1004,12 @@ public void postTraitOrdinalMissingCategoryVariables() {
JsonObject categoryError = categoryErrors.get(0).getAsJsonObject();
assertEquals(0, categoryError.get("rowIndex").getAsInt(), "wrong error row index returned");
JsonObject valueError = categoryError.getAsJsonArray("errors").get(0).getAsJsonObject();
assertEquals("scale.categories.value", valueError.get("field").getAsString(), "wrong error returned");
assertEquals("Scale Categories Value", valueError.get("field").getAsString(), "wrong error returned");

JsonObject secondCategoryError = categoryErrors.get(1).getAsJsonObject();
assertEquals(2, secondCategoryError.get("rowIndex").getAsInt(), "wrong error row index returned");
JsonObject labelError = secondCategoryError.getAsJsonArray("errors").get(0).getAsJsonObject();
assertEquals("scale.categories.label", labelError.get("field").getAsString(), "wrong error returned");
assertEquals("Scale Categories Label", labelError.get("field").getAsString(), "wrong error returned");
}

@Test
Expand Down Expand Up @@ -1227,13 +1227,13 @@ public void putTraitMultipleValidationErrors() {
JsonArray errors = rowError.getAsJsonArray("errors");
assertEquals(1, errors.size(), "Not enough errors were returned");
JsonObject error1 = errors.get(0).getAsJsonObject();
assertEquals("observationVariableName", error1.get("field").getAsString(), "wrong error returned");
assertEquals("Name", error1.get("field").getAsString(), "wrong error returned");

JsonObject badIdRowError = rowErrors.get(1).getAsJsonObject();
errors = badIdRowError.getAsJsonArray("errors");
assertEquals(1, errors.size(), "Not enough errors were returned");
JsonObject error = errors.get(0).getAsJsonObject();
assertEquals("traitId", error.get("field").getAsString(), "wrong error returned");
assertEquals("Trait Id", error.get("field").getAsString(), "wrong error returned");
}

@Test
Expand Down Expand Up @@ -1309,7 +1309,7 @@ public void putTraitIdDoesNotExist() {
JsonArray errors = rowError.getAsJsonArray("errors");
assertEquals(1, errors.size(), "Not enough errors were returned");
JsonObject error = errors.get(0).getAsJsonObject();
assertEquals("traitId", error.get("field").getAsString(), "wrong error returned");
assertEquals("Trait Id", error.get("field").getAsString(), "wrong error returned");
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -427,8 +427,8 @@ void putTraitUploadSingleTraitLevelError() {
JsonArray rowValidationErrors = rowErrors.get(0).getAsJsonObject().get("errors").getAsJsonArray();
assertEquals(1, rowValidationErrors.size(), "Wrong number of errors for row");
JsonObject error = rowValidationErrors.get(0).getAsJsonObject();
assertTrue(error.get("field").getAsString().contains("Trait entity"), "Wrong field returned");
assertFalse(error.get("field").getAsString().contains("Trait level"), "Wrong field returned");
assertTrue(error.get("field").getAsString().contains("Trait Entity"), "Wrong field returned");
assertFalse(error.get("field").getAsString().contains("Trait Level"), "Wrong field returned");
}

@Test
Expand All @@ -445,7 +445,7 @@ void putTraitUploadSingleMissingScaleClassError() {
JsonArray rowValidationErrors = rowErrors.get(0).getAsJsonObject().get("errors").getAsJsonArray();
assertEquals(1, rowValidationErrors.size(), "Wrong number of errors for row");
JsonObject error = rowValidationErrors.get(0).getAsJsonObject();
assertTrue(error.get("field").getAsString().contains("Scale class"), "Wrong field returned");
assertTrue(error.get("field").getAsString().contains("Scale Class"), "Wrong field returned");
assertFalse(error.get("field").getAsString().contains("Unit"), "Wrong field returned");
}

Expand Down
Loading