Skip to content

Commit 98b8e2e

Browse files
authored
Bug/12 report without name (#13)
* bug/12: Added support for writing a report without name and version
1 parent 725dbdf commit 98b8e2e

5 files changed

Lines changed: 33 additions & 9 deletions

File tree

doc/changes/changelog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# Changes
22

3+
* [2.0.1](changes_2.0.1.md)
34
* [2.0.0](changes_2.0.0.md)
45
* [1.1.1](changes_1.1.1.md)
56
* [1.1.0](changes_1.1.0.md)

doc/changes/changes_2.0.1.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Error Code Model Java 2.0.1, released 2022-03-25
2+
3+
Code name: Writing Report Without Name or Version
4+
5+
## Bug Fixes:
6+
7+
* #12: Added support for writing a report without name and version
8+
9+
## Dependency Updates

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<modelVersion>4.0.0</modelVersion>
55
<groupId>com.exasol</groupId>
66
<artifactId>error-code-model-java</artifactId>
7-
<version>2.0.0</version>
7+
<version>2.0.1</version>
88
<name>Error Code Model Java</name>
99
<description>Library for describing error message declarations in Java.</description>
1010
<url>https://github.com/exasol/error-code-model-java</url>

src/main/java/com/exsol/errorcodemodel/ErrorCodeReportWriter.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,12 @@ public void writeReport(final ErrorCodeReport report, final Path target) {
3939
private JsonObject renderReport(final ErrorCodeReport report) {
4040
final JsonObjectBuilder reportJson = JSON.createObjectBuilder();
4141
reportJson.add("$schema", SCHEMA);
42-
reportJson.add("projectName", report.getProjectName());
43-
reportJson.add("projectVersion", report.getProjectVersion());
42+
if (report.getProjectName() != null) {
43+
reportJson.add("projectName", report.getProjectName());
44+
}
45+
if (report.getProjectVersion() != null) {
46+
reportJson.add("projectVersion", report.getProjectVersion());
47+
}
4448
reportJson.add("errorCodes", renderErrorCodes(report.getErrorMessageDeclarations()));
4549
return reportJson.build();
4650
}

src/test/java/com/exsol/errorcodemodel/ErrorCodeReportWriterTest.java

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,27 @@
1313

1414
class ErrorCodeReportWriterTest {
1515

16+
private static final ErrorMessageDeclaration AN_ERROR_CODE = ErrorMessageDeclaration.builder().identifier(//
17+
"E-Test-1")//
18+
.prependMessage("My message.")//
19+
.addParameter("TEST", "A parameter")//
20+
.setPosition("test.java", 2).build();
21+
1622
@Test
1723
void testWriteReport(@TempDir final Path tempDir) throws IOException {
18-
final ErrorCodeReport report = new ErrorCodeReport("my-demo-project", "1.2.3",
19-
List.of(ErrorMessageDeclaration.builder().identifier(//
20-
"E-Test-1")//
21-
.prependMessage("My message.")//
22-
.addParameter("TEST", "A parameter")//
23-
.setPosition("test.java", 2).build()));
24+
final ErrorCodeReport report = new ErrorCodeReport("my-demo-project", "1.2.3", List.of(AN_ERROR_CODE));
2425
final Path reportFile = tempDir.resolve("error_code_report.json");
2526
new ErrorCodeReportWriter().writeReport(report, reportFile);
2627
assertThat(Files.readString(reportFile), equalTo(
2728
"{\"$schema\":\"https://schemas.exasol.com/error_code_report-1.0.0.json\",\"projectName\":\"my-demo-project\",\"projectVersion\":\"1.2.3\",\"errorCodes\":[{\"identifier\":\"E-Test-1\",\"message\":\"My message.\",\"messagePlaceholders\":[{\"placeholder\":\"TEST\",\"description\":\"A parameter\"}],\"sourceFile\":\"test.java\",\"sourceLine\":2,\"mitigations\":[]}]}"));
2829
}
30+
31+
@Test
32+
void testWriteWithoutNameAndVersion(@TempDir final Path tempDir) throws IOException {
33+
final ErrorCodeReport report = new ErrorCodeReport(null, null, List.of(AN_ERROR_CODE));
34+
final Path reportFile = tempDir.resolve("error_code_report.json");
35+
new ErrorCodeReportWriter().writeReport(report, reportFile);
36+
assertThat(Files.readString(reportFile), equalTo(
37+
"{\"$schema\":\"https://schemas.exasol.com/error_code_report-1.0.0.json\",\"errorCodes\":[{\"identifier\":\"E-Test-1\",\"message\":\"My message.\",\"messagePlaceholders\":[{\"placeholder\":\"TEST\",\"description\":\"A parameter\"}],\"sourceFile\":\"test.java\",\"sourceLine\":2,\"mitigations\":[]}]}"));
38+
}
2939
}

0 commit comments

Comments
 (0)