Skip to content
This repository was archived by the owner on Dec 25, 2024. It is now read-only.

Commit 70a8dea

Browse files
authored
Java, adds more openapi v3.0.3 validators (#304)
* Adds unique items java and template code * java sample regen with uniqueItems validator * Adds enum validator to java and templates * Java sample regen with enum * Fixes escaped chars in java enums, renders null correctly * Adds pattern validator * Java regen with pattern validator
1 parent 475d4ab commit 70a8dea

120 files changed

Lines changed: 759 additions & 107 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

samples/client/petstore/java/.openapi-generator/FILES

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -666,6 +666,7 @@ src/main/java/org/openapijsonschematools/schemas/validation/AdditionalProperties
666666
src/main/java/org/openapijsonschematools/schemas/validation/AllOfValidator.java
667667
src/main/java/org/openapijsonschematools/schemas/validation/AnyOfValidator.java
668668
src/main/java/org/openapijsonschematools/schemas/validation/CustomIsoparser.java
669+
src/main/java/org/openapijsonschematools/schemas/validation/EnumValidator.java
669670
src/main/java/org/openapijsonschematools/schemas/validation/ExclusiveMaximumValidator.java
670671
src/main/java/org/openapijsonschematools/schemas/validation/ExclusiveMinimumValidator.java
671672
src/main/java/org/openapijsonschematools/schemas/validation/FakeValidator.java
@@ -687,10 +688,12 @@ src/main/java/org/openapijsonschematools/schemas/validation/MinimumValidator.jav
687688
src/main/java/org/openapijsonschematools/schemas/validation/MultipleOfValidator.java
688689
src/main/java/org/openapijsonschematools/schemas/validation/OneOfValidator.java
689690
src/main/java/org/openapijsonschematools/schemas/validation/PathToSchemasMap.java
691+
src/main/java/org/openapijsonschematools/schemas/validation/PatternValidator.java
690692
src/main/java/org/openapijsonschematools/schemas/validation/PropertiesValidator.java
691693
src/main/java/org/openapijsonschematools/schemas/validation/PropertyEntry.java
692694
src/main/java/org/openapijsonschematools/schemas/validation/RequiredValidator.java
693695
src/main/java/org/openapijsonschematools/schemas/validation/TypeValidator.java
696+
src/main/java/org/openapijsonschematools/schemas/validation/UniqueItemsValidator.java
694697
src/main/java/org/openapijsonschematools/schemas/validation/UnsetAnyTypeJsonSchema.java
695698
src/main/java/org/openapijsonschematools/schemas/validation/ValidationMetadata.java
696699
src/test/java/org/openapijsonschematools/configurations/JsonSchemaKeywordFlagsTest.java

samples/client/petstore/java/docs/components/schemas/Apple.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ A schema class that validates payloads
6060
### Field Summary
6161
| Modifier and Type | Field and Description |
6262
| ----------------- | ---------------------- |
63-
| static LinkedHashMap<String, KeywordValidator> |keywordToValidator<br/>new LinkedHashMap<>(Map.ofEntries(<br/>&nbsp;&nbsp;&nbsp;&nbsp;new KeywordEntry("type", new TypeValidator(Set.of(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String.class<br/>&nbsp;&nbsp;&nbsp;&nbsp;)))<br/>)); |
63+
| static LinkedHashMap<String, KeywordValidator> |keywordToValidator<br/>new LinkedHashMap<>(Map.ofEntries(<br/>&nbsp;&nbsp;&nbsp;&nbsp;new KeywordEntry("type", new TypeValidator(Set.of(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String.class<br/>&nbsp;&nbsp;&nbsp;&nbsp;))),<br/>&nbsp;&nbsp;&nbsp;&nbsp;new KeywordEntry("pattern", new PatternValidator(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"/^[A-Z\\s]*$/i"<br>&nbsp;&nbsp;&nbsp;&nbsp;)))<br>)); |
6464

6565
### Method Summary
6666
| Modifier and Type | Method and Description |
@@ -75,7 +75,7 @@ A schema class that validates payloads
7575
### Field Summary
7676
| Modifier and Type | Field and Description |
7777
| ----------------- | ---------------------- |
78-
| static LinkedHashMap<String, KeywordValidator> |keywordToValidator<br/>new LinkedHashMap<>(Map.ofEntries(<br/>&nbsp;&nbsp;&nbsp;&nbsp;new KeywordEntry("type", new TypeValidator(Set.of(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String.class<br/>&nbsp;&nbsp;&nbsp;&nbsp;)))<br/>)); |
78+
| static LinkedHashMap<String, KeywordValidator> |keywordToValidator<br/>new LinkedHashMap<>(Map.ofEntries(<br/>&nbsp;&nbsp;&nbsp;&nbsp;new KeywordEntry("type", new TypeValidator(Set.of(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String.class<br/>&nbsp;&nbsp;&nbsp;&nbsp;))),<br/>&nbsp;&nbsp;&nbsp;&nbsp;new KeywordEntry("pattern", new PatternValidator(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"/^[a-zA-Z\\s]*$/"<br>&nbsp;&nbsp;&nbsp;&nbsp;)))<br>)); |
7979

8080
### Method Summary
8181
| Modifier and Type | Method and Description |

samples/client/petstore/java/docs/components/schemas/BasquePig.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ A schema class that validates payloads
5656
### Field Summary
5757
| Modifier and Type | Field and Description |
5858
| ----------------- | ---------------------- |
59-
| static LinkedHashMap<String, KeywordValidator> |keywordToValidator<br/>new LinkedHashMap<>(Map.ofEntries(<br/>&nbsp;&nbsp;&nbsp;&nbsp;new KeywordEntry("type", new TypeValidator(Set.of(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String.class<br/>&nbsp;&nbsp;&nbsp;&nbsp;)))<br/>)); |
59+
| static LinkedHashMap<String, KeywordValidator> |keywordToValidator<br/>new LinkedHashMap<>(Map.ofEntries(<br/>&nbsp;&nbsp;&nbsp;&nbsp;new KeywordEntry("type", new TypeValidator(Set.of(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String.class<br/>&nbsp;&nbsp;&nbsp;&nbsp;))),<br/>&nbsp;&nbsp;&nbsp;&nbsp;new KeywordEntry("enum", new EnumValidator(Set.of(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"BasquePig"<br>)))<br>)); |
6060

6161
### Method Summary
6262
| Modifier and Type | Method and Description |

samples/client/petstore/java/docs/components/schemas/BooleanEnum.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ A schema class that validates payloads
1717
### Field Summary
1818
| Modifier and Type | Field and Description |
1919
| ----------------- | ---------------------- |
20-
| static LinkedHashMap<String, KeywordValidator> |keywordToValidator<br/>new LinkedHashMap<>(Map.ofEntries(<br/>&nbsp;&nbsp;&nbsp;&nbsp;new KeywordEntry("type", new TypeValidator(Set.of(Boolean.class)))<br/>)); |
20+
| static LinkedHashMap<String, KeywordValidator> |keywordToValidator<br/>new LinkedHashMap<>(Map.ofEntries(<br/>&nbsp;&nbsp;&nbsp;&nbsp;new KeywordEntry("type", new TypeValidator(Set.of(Boolean.class))),<br/>&nbsp;&nbsp;&nbsp;&nbsp;new KeywordEntry("enum", new EnumValidator(Set.of(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;true)))<br>)); |
2121

2222
### Method Summary
2323
| Modifier and Type | Method and Description |

samples/client/petstore/java/docs/components/schemas/ComplexQuadrilateral.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ A schema class that validates payloads
8080
### Field Summary
8181
| Modifier and Type | Field and Description |
8282
| ----------------- | ---------------------- |
83-
| static LinkedHashMap<String, KeywordValidator> |keywordToValidator<br/>new LinkedHashMap<>(Map.ofEntries(<br/>&nbsp;&nbsp;&nbsp;&nbsp;new KeywordEntry("type", new TypeValidator(Set.of(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String.class<br/>&nbsp;&nbsp;&nbsp;&nbsp;)))<br/>)); |
83+
| static LinkedHashMap<String, KeywordValidator> |keywordToValidator<br/>new LinkedHashMap<>(Map.ofEntries(<br/>&nbsp;&nbsp;&nbsp;&nbsp;new KeywordEntry("type", new TypeValidator(Set.of(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String.class<br/>&nbsp;&nbsp;&nbsp;&nbsp;))),<br/>&nbsp;&nbsp;&nbsp;&nbsp;new KeywordEntry("enum", new EnumValidator(Set.of(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"ComplexQuadrilateral"<br>)))<br>)); |
8484

8585
### Method Summary
8686
| Modifier and Type | Method and Description |

samples/client/petstore/java/docs/components/schemas/ComposedOneOfDifferentTypes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ A schema class that validates payloads
5050
### Field Summary
5151
| Modifier and Type | Field and Description |
5252
| ----------------- | ---------------------- |
53-
| static LinkedHashMap<String, KeywordValidator> |keywordToValidator<br/>new LinkedHashMap<>(Map.ofEntries(<br/>&nbsp;&nbsp;&nbsp;&nbsp;new KeywordEntry("type", new TypeValidator(Set.of(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String.class<br/>&nbsp;&nbsp;&nbsp;&nbsp;))),<br/>&nbsp;&nbsp;&nbsp;&nbsp;new KeywordEntry("format", new FormatValidator("date-time"))<br>)); |
53+
| static LinkedHashMap<String, KeywordValidator> |keywordToValidator<br/>new LinkedHashMap<>(Map.ofEntries(<br/>&nbsp;&nbsp;&nbsp;&nbsp;new KeywordEntry("type", new TypeValidator(Set.of(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String.class<br/>&nbsp;&nbsp;&nbsp;&nbsp;))),<br/>&nbsp;&nbsp;&nbsp;&nbsp;new KeywordEntry("format", new FormatValidator("date-time")),<br>&nbsp;&nbsp;&nbsp;&nbsp;new KeywordEntry("pattern", new PatternValidator(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"/^2020.*/"<br>&nbsp;&nbsp;&nbsp;&nbsp;)))<br>)); |
5454

5555
### Method Summary
5656
| Modifier and Type | Method and Description |

samples/client/petstore/java/docs/components/schemas/Currency.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ A schema class that validates payloads
1717
### Field Summary
1818
| Modifier and Type | Field and Description |
1919
| ----------------- | ---------------------- |
20-
| static LinkedHashMap<String, KeywordValidator> |keywordToValidator<br/>new LinkedHashMap<>(Map.ofEntries(<br/>&nbsp;&nbsp;&nbsp;&nbsp;new KeywordEntry("type", new TypeValidator(Set.of(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String.class<br/>&nbsp;&nbsp;&nbsp;&nbsp;)))<br/>)); |
20+
| static LinkedHashMap<String, KeywordValidator> |keywordToValidator<br/>new LinkedHashMap<>(Map.ofEntries(<br/>&nbsp;&nbsp;&nbsp;&nbsp;new KeywordEntry("type", new TypeValidator(Set.of(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String.class<br/>&nbsp;&nbsp;&nbsp;&nbsp;))),<br/>&nbsp;&nbsp;&nbsp;&nbsp;new KeywordEntry("enum", new EnumValidator(Set.of(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"eur",<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"usd"<br>)))<br>)); |
2121

2222
### Method Summary
2323
| Modifier and Type | Method and Description |

samples/client/petstore/java/docs/components/schemas/DanishPig.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ A schema class that validates payloads
5656
### Field Summary
5757
| Modifier and Type | Field and Description |
5858
| ----------------- | ---------------------- |
59-
| static LinkedHashMap<String, KeywordValidator> |keywordToValidator<br/>new LinkedHashMap<>(Map.ofEntries(<br/>&nbsp;&nbsp;&nbsp;&nbsp;new KeywordEntry("type", new TypeValidator(Set.of(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String.class<br/>&nbsp;&nbsp;&nbsp;&nbsp;)))<br/>)); |
59+
| static LinkedHashMap<String, KeywordValidator> |keywordToValidator<br/>new LinkedHashMap<>(Map.ofEntries(<br/>&nbsp;&nbsp;&nbsp;&nbsp;new KeywordEntry("type", new TypeValidator(Set.of(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String.class<br/>&nbsp;&nbsp;&nbsp;&nbsp;))),<br/>&nbsp;&nbsp;&nbsp;&nbsp;new KeywordEntry("enum", new EnumValidator(Set.of(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"DanishPig"<br>)))<br>)); |
6060

6161
### Method Summary
6262
| Modifier and Type | Method and Description |

samples/client/petstore/java/docs/components/schemas/DateTimeWithValidations.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ A schema class that validates payloads
1717
### Field Summary
1818
| Modifier and Type | Field and Description |
1919
| ----------------- | ---------------------- |
20-
| static LinkedHashMap<String, KeywordValidator> |keywordToValidator<br/>new LinkedHashMap<>(Map.ofEntries(<br/>&nbsp;&nbsp;&nbsp;&nbsp;new KeywordEntry("type", new TypeValidator(Set.of(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String.class<br/>&nbsp;&nbsp;&nbsp;&nbsp;))),<br/>&nbsp;&nbsp;&nbsp;&nbsp;new KeywordEntry("format", new FormatValidator("date-time"))<br>)); |
20+
| static LinkedHashMap<String, KeywordValidator> |keywordToValidator<br/>new LinkedHashMap<>(Map.ofEntries(<br/>&nbsp;&nbsp;&nbsp;&nbsp;new KeywordEntry("type", new TypeValidator(Set.of(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String.class<br/>&nbsp;&nbsp;&nbsp;&nbsp;))),<br/>&nbsp;&nbsp;&nbsp;&nbsp;new KeywordEntry("format", new FormatValidator("date-time")),<br>&nbsp;&nbsp;&nbsp;&nbsp;new KeywordEntry("pattern", new PatternValidator(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"/^2020.*/"<br>&nbsp;&nbsp;&nbsp;&nbsp;)))<br>)); |
2121

2222
### Method Summary
2323
| Modifier and Type | Method and Description |

samples/client/petstore/java/docs/components/schemas/DateWithValidations.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ A schema class that validates payloads
1717
### Field Summary
1818
| Modifier and Type | Field and Description |
1919
| ----------------- | ---------------------- |
20-
| static LinkedHashMap<String, KeywordValidator> |keywordToValidator<br/>new LinkedHashMap<>(Map.ofEntries(<br/>&nbsp;&nbsp;&nbsp;&nbsp;new KeywordEntry("type", new TypeValidator(Set.of(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String.class<br/>&nbsp;&nbsp;&nbsp;&nbsp;))),<br/>&nbsp;&nbsp;&nbsp;&nbsp;new KeywordEntry("format", new FormatValidator("date"))<br>)); |
20+
| static LinkedHashMap<String, KeywordValidator> |keywordToValidator<br/>new LinkedHashMap<>(Map.ofEntries(<br/>&nbsp;&nbsp;&nbsp;&nbsp;new KeywordEntry("type", new TypeValidator(Set.of(<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String.class<br/>&nbsp;&nbsp;&nbsp;&nbsp;))),<br/>&nbsp;&nbsp;&nbsp;&nbsp;new KeywordEntry("format", new FormatValidator("date")),<br>&nbsp;&nbsp;&nbsp;&nbsp;new KeywordEntry("pattern", new PatternValidator(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"/^2020.*/"<br>&nbsp;&nbsp;&nbsp;&nbsp;)))<br>)); |
2121

2222
### Method Summary
2323
| Modifier and Type | Method and Description |

0 commit comments

Comments
 (0)