Skip to content

Commit 6f9726b

Browse files
committed
[bugfix] Fix OpenAPI specs spelling mistakes and make sure the code matches the expected API response
1 parent 87cdd60 commit 6f9726b

8 files changed

Lines changed: 158 additions & 158 deletions

File tree

src/main/java/com/evolvedbinary/bblValidator/controller/ValidateController.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -77,18 +77,18 @@ public HttpResponse<ResponseObject> validateCsv(@QueryValue("schema-id") final S
7777
if (csvContent == null || csvContent.isEmpty()) {
7878
return HttpResponse.badRequest().body(new ErrorResponse(ErrorResponse.Code.NO_CSV,"Empty CSV content"));
7979
}
80-
try {
81-
final Path tempFile = fileDownloadService.saveContentToTemp(csvContent);
8280
try {
83-
LOG.trace("CSV content saved to: {}", tempFile);
84-
return HttpResponse.ok(performValidation(tempFile, schemaId));
85-
} finally {
86-
Files.delete(tempFile);
81+
final Path tempFile = fileDownloadService.saveContentToTemp(csvContent);
82+
try {
83+
LOG.trace("CSV content saved to: {}", tempFile);
84+
return HttpResponse.ok(performValidation(tempFile, schemaId));
85+
} finally {
86+
Files.delete(tempFile);
87+
}
88+
} catch (final IOException e) {
89+
LOG.error("Failed to save CSV content to temp file", e);
90+
return HttpResponse.serverError().body(new ErrorResponse(ErrorResponse.Code.UNEXPECTED_ERROR,"Unable to store CSV: " + e.getMessage()));
8791
}
88-
} catch (final IOException e) {
89-
LOG.error("Failed to save CSV content to temp file", e);
90-
return HttpResponse.serverError().body(new ErrorResponse(ErrorResponse.Code.UNEXPECTED_ERROR,"Unable to store CSV: " + e.getMessage()));
91-
}
9292
}
9393

9494
/**
@@ -122,6 +122,6 @@ public HttpResponse<ResponseObject> validateParams(@QueryValue("schema-id") fina
122122
private ResponseObject performValidation(final Path csvFile, final String schemaId) {
123123
final CsvValidationService.ValidationResult result = csvValidationService.validateCsvFile(csvFile, schemaId);
124124

125-
return new ValidationResponse(result.isValid(), result.getErrors(), result.getExecutionTimeMs(), result.isUtf8Valid());
125+
return new ValidationResponse(result.isPassed(), result.getFailures(), result.getExecutionTime(), result.isUtf8Valid());
126126
}
127127
}

src/main/java/com/evolvedbinary/bblValidator/controller/ValidationViewController.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.evolvedbinary.bblValidator.controller;
22

33
import com.evolvedbinary.bblValidator.dto.ErrorResponse;
4-
import com.evolvedbinary.bblValidator.dto.ValidationError;
4+
import com.evolvedbinary.bblValidator.dto.ValidationFailure;
55
import com.evolvedbinary.bblValidator.dto.ValidationResponse;
66
import com.evolvedbinary.bblValidator.service.CsvValidationService;
77
import com.evolvedbinary.bblValidator.service.FileDownloadService;
@@ -76,8 +76,8 @@ public Map<String, Object> validateSubmit(@Body final Map<String, String> formDa
7676
final Path tempFile = isUrl ? fileDownloadService.downloadToTemp(csvUrl) : fileDownloadService.saveContentToTemp(csvContent);
7777
try {
7878
final CsvValidationService.ValidationResult result = csvValidationService.validateCsvFile(tempFile, schemaId);
79-
model.put("result", new ValidationResponse(result.isValid(), result.getErrors(), result.getExecutionTimeMs(), result.isUtf8Valid()));
80-
model.put("errorsTable", getErrorsTable(result.getErrors()));
79+
model.put("result", new ValidationResponse(result.isPassed(), result.getFailures(), result.getExecutionTime(), result.isUtf8Valid()));
80+
model.put("errorsTable", getErrorsTable(result.getFailures()));
8181
} finally {
8282
Files.delete(tempFile);
8383
}
@@ -88,10 +88,10 @@ public Map<String, Object> validateSubmit(@Body final Map<String, String> formDa
8888
return model;
8989
}
9090

91-
private List<String> getErrorsTable(final List<ValidationError> errors) {
91+
private List<String> getErrorsTable(final List<ValidationFailure> failures) {
9292
final List<String> table = new ArrayList<>();
93-
for (final ValidationError error : errors) {
94-
table.add(error.getMessage());
93+
for (final ValidationFailure failure : failures) {
94+
table.add(failure.getMessage());
9595
}
9696
return table;
9797
}

src/main/java/com/evolvedbinary/bblValidator/dto/ValidationError.java

Lines changed: 0 additions & 33 deletions
This file was deleted.
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package com.evolvedbinary.bblValidator.dto;
2+
3+
import io.micronaut.serde.annotation.Serdeable;
4+
5+
/**
6+
* Data transfer object representing a validation failure with location information.
7+
*/
8+
@Serdeable
9+
public class ValidationFailure {
10+
11+
private final String message;
12+
private final int line;
13+
private final int column;
14+
15+
public ValidationFailure(final String message, final int line, final int column) {
16+
this.message = message;
17+
this.line = line;
18+
this.column = column;
19+
}
20+
21+
public String getMessage() {
22+
return message;
23+
}
24+
25+
public int getLine() {
26+
return line;
27+
}
28+
29+
public int getColumn() {
30+
return column;
31+
}
32+
33+
}

src/main/java/com/evolvedbinary/bblValidator/dto/ValidationResponse.java

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -11,31 +11,31 @@
1111
@Serdeable
1212
public final class ValidationResponse implements ResponseObject {
1313

14-
private final boolean valid;
15-
private final List<ValidationError> errors;
16-
private final long executionTimeMs;
14+
private final boolean passed;
15+
private final List<ValidationFailure> failures;
16+
private final long executionTime;
1717
private final boolean utf8Valid;
1818

19-
public ValidationResponse(final boolean valid,
20-
final List<ValidationError> errors,
21-
final long executionTimeMs,
19+
public ValidationResponse(final boolean passed,
20+
final List<ValidationFailure> failures,
21+
final long executionTime,
2222
final boolean utf8Valid) {
23-
this.executionTimeMs = executionTimeMs;
24-
this.valid = valid;
25-
this.errors = errors != null ? errors : Collections.emptyList();
23+
this.executionTime = executionTime;
24+
this.passed = passed;
25+
this.failures = failures != null ? failures : Collections.emptyList();
2626
this.utf8Valid = utf8Valid;
2727
}
2828

29-
public boolean isValid() {
30-
return valid;
31-
}
29+
public boolean isPassed() {
30+
return passed;
31+
}
3232

33-
public List<ValidationError> getErrors() {
34-
return errors;
33+
public List<ValidationFailure> getFailures() {
34+
return failures;
3535
}
3636

37-
public long getExecutionTimeMs() {
38-
return executionTimeMs;
37+
public long getExecutionTime() {
38+
return executionTime;
3939
}
4040

4141
public boolean isUtf8Valid() { return utf8Valid; }

src/main/java/com/evolvedbinary/bblValidator/service/CsvValidationService.java

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.evolvedbinary.bblValidator.service;
22

3-
import com.evolvedbinary.bblValidator.dto.ValidationError;
3+
import com.evolvedbinary.bblValidator.dto.ValidationFailure;
44
import jakarta.inject.Inject;
55
import jakarta.inject.Singleton;
66
import org.slf4j.Logger;
@@ -48,21 +48,21 @@ public ValidationResult validateCsvFile(final Path csvFilePath, final String sch
4848
}
4949

5050

51-
private ValidationResult processValidationMessages(final List<FailMessage> messages, final long executionTimeMs) {
51+
private ValidationResult processValidationMessages(final List<FailMessage> messages, final long executionTime) {
5252
if (messages.isEmpty()) {
53-
LOG.trace("CSV validation successful - no errors ({}ms)", executionTimeMs);
54-
return ValidationResult.success(executionTimeMs);
53+
LOG.trace("CSV validation successful - no errors ({}ms)", executionTime);
54+
return ValidationResult.success(executionTime);
5555
}
5656

57-
final List<ValidationError> errors = new ArrayList<>();
57+
final List<ValidationFailure> errors = new ArrayList<>();
5858
boolean utf8Valid = true;
5959

6060
for (final FailMessage message : messages) {
6161
// if one error is a UTF-8 error, then the file is not valid
6262
if(message.getMessage().startsWith("[UTF-8 Error]")) {
6363
utf8Valid = false;
6464
}
65-
final ValidationError error = new ValidationError(
65+
final ValidationFailure error = new ValidationFailure(
6666
message.getMessage(),
6767
message.getLineNumber(),
6868
message.getColumnIndex() + 1 // Add 1 for user display
@@ -72,39 +72,39 @@ private ValidationResult processValidationMessages(final List<FailMessage> messa
7272
message.getLineNumber(), message.getColumnIndex(), message.getMessage());
7373
}
7474

75-
LOG.trace("CSV validation completed - Valid: false, Errors: {} ({}ms)", errors.size(), executionTimeMs);
75+
LOG.trace("CSV validation completed - Valid: false, Errors: {} ({}ms)", errors.size(), executionTime);
7676

77-
return new ValidationResult(false, errors, executionTimeMs, utf8Valid);
77+
return new ValidationResult(false, errors, executionTime, utf8Valid);
7878
}
7979

8080

8181
public static class ValidationResult {
82-
private final boolean valid;
83-
private final List<ValidationError> errors;
84-
private final long executionTimeMs;
82+
private final boolean passed;
83+
private final List<ValidationFailure> failures;
84+
private final long executionTime;
8585
private final boolean utf8Valid;
8686

87-
public ValidationResult(final boolean valid, final List<ValidationError> errors, final long executionTimeMs, final boolean utf8Valid) {
88-
this.valid = valid;
89-
this.errors = errors;
90-
this.executionTimeMs = executionTimeMs;
87+
public ValidationResult(final boolean passed, final List<ValidationFailure> failures, final long executionTime, final boolean utf8Valid) {
88+
this.passed = passed;
89+
this.failures = failures;
90+
this.executionTime = executionTime;
9191
this.utf8Valid = utf8Valid;
9292
}
9393

94-
public static ValidationResult success(final long executionTimeMs) {
95-
return new ValidationResult(true, Collections.emptyList(), executionTimeMs, true);
94+
public static ValidationResult success(final long executionTime) {
95+
return new ValidationResult(true, Collections.emptyList(), executionTime, true);
9696
}
9797

98-
public boolean isValid() {
99-
return valid;
98+
public boolean isPassed() {
99+
return passed;
100100
}
101101

102-
public List<ValidationError> getErrors() {
103-
return errors;
102+
public List<ValidationFailure> getFailures() {
103+
return failures;
104104
}
105105

106-
public long getExecutionTimeMs() {
107-
return executionTimeMs;
106+
public long getExecutionTime() {
107+
return executionTime;
108108
}
109109

110110
public boolean isUtf8Valid() { return utf8Valid; }

0 commit comments

Comments
 (0)