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

Commit 48c6e68

Browse files
authored
Java, adds min/maxContains (#361)
* Adds min/maxContains handling in templates * Regen 310sample * Updates docs * Makes containsPathToSchemas nullable, fixes java tests * Samples regen
1 parent e8bd86a commit 48c6e68

File tree

138 files changed

+556
-124
lines changed

Some content is hidden

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

138 files changed

+556
-124
lines changed

docs/generators/java.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -289,12 +289,12 @@ These options may be applied as additional-properties (cli) or configOptions (pl
289289
|Format|✓|OAS2,OAS3
290290
|If|✗|OAS3
291291
|Items|✓|OAS2,OAS3
292-
|MaxContains||OAS3
292+
|MaxContains||OAS3
293293
|MaxItems|✓|OAS2,OAS3
294294
|MaxLength|✓|OAS2,OAS3
295295
|MaxProperties|✓|OAS2,OAS3
296296
|Maximum|✓|OAS2,OAS3
297-
|MinContains||OAS3
297+
|MinContains||OAS3
298298
|MinItems|✓|OAS2,OAS3
299299
|MinLength|✓|OAS2,OAS3
300300
|MinProperties|✓|OAS2,OAS3

samples/client/3_0_3_unit_test/java/.openapi-generator/FILES

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,10 +237,12 @@ src/main/java/org/openapijsonschematools/client/schemas/validation/LongEnumValid
237237
src/main/java/org/openapijsonschematools/client/schemas/validation/LongValueMethod.java
238238
src/main/java/org/openapijsonschematools/client/schemas/validation/MapSchemaValidator.java
239239
src/main/java/org/openapijsonschematools/client/schemas/validation/MapUtils.java
240+
src/main/java/org/openapijsonschematools/client/schemas/validation/MaxContainsValidator.java
240241
src/main/java/org/openapijsonschematools/client/schemas/validation/MaxItemsValidator.java
241242
src/main/java/org/openapijsonschematools/client/schemas/validation/MaxLengthValidator.java
242243
src/main/java/org/openapijsonschematools/client/schemas/validation/MaxPropertiesValidator.java
243244
src/main/java/org/openapijsonschematools/client/schemas/validation/MaximumValidator.java
245+
src/main/java/org/openapijsonschematools/client/schemas/validation/MinContainsValidator.java
244246
src/main/java/org/openapijsonschematools/client/schemas/validation/MinItemsValidator.java
245247
src/main/java/org/openapijsonschematools/client/schemas/validation/MinLengthValidator.java
246248
src/main/java/org/openapijsonschematools/client/schemas/validation/MinPropertiesValidator.java

samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/schemas/validation/AdditionalPropertiesValidator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public AdditionalPropertiesValidator(Class<? extends JsonSchema> additionalPrope
1919
JsonSchema schema,
2020
@Nullable Object arg,
2121
ValidationMetadata validationMetadata,
22-
List<PathToSchemasMap> containsPathToSchemas
22+
@Nullable List<PathToSchemasMap> containsPathToSchemas
2323
) {
2424
if (!(arg instanceof Map<?, ?> mapArg)) {
2525
return null;

samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/schemas/validation/AllOfValidator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public AllOfValidator(List<Class<? extends JsonSchema>> allOf) {
1515
JsonSchema schema,
1616
@Nullable Object arg,
1717
ValidationMetadata validationMetadata,
18-
List<PathToSchemasMap> containsPathToSchemas
18+
@Nullable List<PathToSchemasMap> containsPathToSchemas
1919
) {
2020
PathToSchemasMap pathToSchemas = new PathToSchemasMap();
2121
for(Class<? extends JsonSchema> allOfClass: allOf) {

samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/schemas/validation/AnyOfValidator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public AnyOfValidator(List<Class<? extends JsonSchema>> anyOf) {
1818
JsonSchema schema,
1919
@Nullable Object arg,
2020
ValidationMetadata validationMetadata,
21-
List<PathToSchemasMap> containsPathToSchemas
21+
@Nullable List<PathToSchemasMap> containsPathToSchemas
2222
) {
2323
PathToSchemasMap pathToSchemas = new PathToSchemasMap();
2424
List<Class<? extends JsonSchema>> validatedAnyOfClasses = new ArrayList<>();

samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/schemas/validation/ConstValidator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public ConstValidator(@Nullable Object constValue) {
1919
JsonSchema schema,
2020
@Nullable Object arg,
2121
ValidationMetadata validationMetadata,
22-
List<PathToSchemasMap> containsPathToSchemas
22+
@Nullable List<PathToSchemasMap> containsPathToSchemas
2323
) {
2424
if (arg instanceof Number) {
2525
BigDecimal castArg = getBigDecimal((Number) arg);

samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/schemas/validation/ContainsValidator.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ public ContainsValidator(Class<? extends JsonSchema> contains) {
1818
JsonSchema schema,
1919
@Nullable Object arg,
2020
ValidationMetadata validationMetadata,
21-
List<PathToSchemasMap> containsPathToSchemas
21+
@Nullable List<PathToSchemasMap> containsPathToSchemas
2222
) {
2323
if (!(arg instanceof List)) {
2424
return null;
2525
}
26-
if (containsPathToSchemas.isEmpty()) {
26+
if (containsPathToSchemas == null || containsPathToSchemas.isEmpty()) {
2727
throw new ValidationException(
2828
"Validation failed for contains keyword in class="+schema.getClass()
2929
+ " at pathToItem="+validationMetadata.pathToItem()+". No "
@@ -44,7 +44,7 @@ public List<PathToSchemasMap> getContainsPathToSchemas(
4444
if (!(arg instanceof List)) {
4545
return new ArrayList<>();
4646
}
47-
List<PathToSchemasMap> containsPathToSchemas = new ArrayList<>();
47+
@Nullable List<PathToSchemasMap> containsPathToSchemas = new ArrayList<>();
4848
int i = 0;
4949
for(Object itemValue: (List<?>) arg) {
5050
PathToSchemasMap thesePathToSchemas = new PathToSchemasMap();

samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/schemas/validation/EnumValidator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ private boolean enumContainsArg(@Nullable Object arg){
2424
JsonSchema schema,
2525
@Nullable Object arg,
2626
ValidationMetadata validationMetadata,
27-
List<PathToSchemasMap> containsPathToSchemas
27+
@Nullable List<PathToSchemasMap> containsPathToSchemas
2828
) {
2929
if (enumValues.isEmpty()) {
3030
throw new ValidationException("No value can match enum because enum is empty");

samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/schemas/validation/ExclusiveMaximumValidator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public ExclusiveMaximumValidator(Number exclusiveMaximum) {
1717
JsonSchema schema,
1818
@Nullable Object arg,
1919
ValidationMetadata validationMetadata,
20-
List<PathToSchemasMap> containsPathToSchemas
20+
@Nullable List<PathToSchemasMap> containsPathToSchemas
2121
) {
2222
if (!(arg instanceof Number)) {
2323
return null;

samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/schemas/validation/ExclusiveMinimumValidator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public ExclusiveMinimumValidator(Number exclusiveMinimum) {
1717
JsonSchema schema,
1818
@Nullable Object arg,
1919
ValidationMetadata validationMetadata,
20-
List<PathToSchemasMap> containsPathToSchemas
20+
@Nullable List<PathToSchemasMap> containsPathToSchemas
2121
) {
2222
if (!(arg instanceof Number)) {
2323
return null;

0 commit comments

Comments
 (0)