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

Commit c7a1e2b

Browse files
committed
Regen 310sample
1 parent 0b68047 commit c7a1e2b

File tree

10 files changed

+97
-1
lines changed

10 files changed

+97
-1
lines changed

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -287,10 +287,12 @@ src/main/java/org/openapijsonschematools/client/schemas/validation/LongEnumValid
287287
src/main/java/org/openapijsonschematools/client/schemas/validation/LongValueMethod.java
288288
src/main/java/org/openapijsonschematools/client/schemas/validation/MapSchemaValidator.java
289289
src/main/java/org/openapijsonschematools/client/schemas/validation/MapUtils.java
290+
src/main/java/org/openapijsonschematools/client/schemas/validation/MaxContainsValidator.java
290291
src/main/java/org/openapijsonschematools/client/schemas/validation/MaxItemsValidator.java
291292
src/main/java/org/openapijsonschematools/client/schemas/validation/MaxLengthValidator.java
292293
src/main/java/org/openapijsonschematools/client/schemas/validation/MaxPropertiesValidator.java
293294
src/main/java/org/openapijsonschematools/client/schemas/validation/MaximumValidator.java
295+
src/main/java/org/openapijsonschematools/client/schemas/validation/MinContainsValidator.java
294296
src/main/java/org/openapijsonschematools/client/schemas/validation/MinItemsValidator.java
295297
src/main/java/org/openapijsonschematools/client/schemas/validation/MinLengthValidator.java
296298
src/main/java/org/openapijsonschematools/client/schemas/validation/MinPropertiesValidator.java

samples/client/3_1_0_unit_test/java/docs/components/schemas/MaxcontainsWithoutContainsIsIgnored.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ A schema class that validates payloads
1919
### Field Summary
2020
| Modifier and Type | Field and Description |
2121
| ----------------- | ---------------------- |
22+
| Integer | maxContains = 1 |
2223

2324
### Method Summary
2425
| Modifier and Type | Method and Description |

samples/client/3_1_0_unit_test/java/docs/components/schemas/MincontainsWithoutContainsIsIgnored.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ A schema class that validates payloads
1919
### Field Summary
2020
| Modifier and Type | Field and Description |
2121
| ----------------- | ---------------------- |
22+
| Integer | minContains = 1 |
2223

2324
### Method Summary
2425
| Modifier and Type | Method and Description |

samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/components/schemas/MaxcontainsWithoutContainsIsIgnored.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ public static class MaxcontainsWithoutContainsIsIgnored1 extends JsonSchema impl
4646

4747
protected MaxcontainsWithoutContainsIsIgnored1() {
4848
super(new JsonSchemaInfo()
49+
.maxContains(1)
4950
);
5051
}
5152

samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/components/schemas/MincontainsWithoutContainsIsIgnored.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ public static class MincontainsWithoutContainsIsIgnored1 extends JsonSchema impl
4646

4747
protected MincontainsWithoutContainsIsIgnored1() {
4848
super(new JsonSchemaInfo()
49+
.minContains(1)
4950
);
5051
}
5152

samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/schemas/validation/JsonSchema.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,20 @@ protected JsonSchema(JsonSchemaInfo jsonSchemaInfo) {
236236
new ContainsValidator(this.contains)
237237
);
238238
}
239+
this.maxContains = jsonSchemaInfo.maxContains;
240+
if (this.maxContains != null) {
241+
keywordToValidator.put(
242+
"maxContains",
243+
new MaxContainsValidator(this.maxContains)
244+
);
245+
}
246+
this.minContains = jsonSchemaInfo.minContains;
247+
if (this.minContains != null) {
248+
keywordToValidator.put(
249+
"minContains",
250+
new MinContainsValidator(this.minContains)
251+
);
252+
}
239253
this.keywordToValidator = keywordToValidator;
240254
}
241255

samples/client/3_1_0_unit_test/java/src/main/java/org/openapijsonschematools/client/schemas/validation/JsonSchemaInfo.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,4 +147,14 @@ public JsonSchemaInfo contains(Class<? extends JsonSchema> contains) {
147147
this.contains = contains;
148148
return this;
149149
}
150+
public @Nullable Integer maxContains = null;
151+
public JsonSchemaInfo maxContains(Integer maxContains) {
152+
this.maxContains = maxContains;
153+
return this;
154+
}
155+
public @Nullable Integer minContains = null;
156+
public JsonSchemaInfo minContains(Integer minContains) {
157+
this.minContains = minContains;
158+
return this;
159+
}
150160
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package org.openapijsonschematools.client.schemas.validation;
2+
3+
import org.checkerframework.checker.nullness.qual.Nullable;
4+
import org.openapijsonschematools.client.exceptions.ValidationException;
5+
6+
import java.util.List;
7+
8+
public class MaxContainsValidator implements KeywordValidator {
9+
public final int maxContains;
10+
11+
public MaxContainsValidator(int maxContains) {
12+
this.maxContains = maxContains;
13+
}
14+
15+
@Override
16+
public @Nullable PathToSchemasMap validate(
17+
JsonSchema schema,
18+
@Nullable Object arg,
19+
ValidationMetadata validationMetadata,
20+
List<PathToSchemasMap> containsPathToSchemas
21+
) {
22+
if (!(arg instanceof List)) {
23+
return null;
24+
}
25+
if (containsPathToSchemas.size() > maxContains) {
26+
throw new ValidationException(
27+
"Validation failed for maxContains keyword in class="+schema.getClass()+
28+
" at pathToItem="+validationMetadata.pathToItem()+". Too many items validated to the contains schema."
29+
)
30+
}
31+
return null;
32+
}
33+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package org.openapijsonschematools.client.schemas.validation;
2+
3+
import org.checkerframework.checker.nullness.qual.Nullable;
4+
import org.openapijsonschematools.client.exceptions.ValidationException;
5+
6+
import java.util.List;
7+
8+
public class MinContainsValidator implements KeywordValidator {
9+
public final int minContains;
10+
11+
public MinContainsValidator(int minContains) {
12+
this.minContains = minContains;
13+
}
14+
15+
@Override
16+
public @Nullable PathToSchemasMap validate(
17+
JsonSchema schema,
18+
@Nullable Object arg,
19+
ValidationMetadata validationMetadata,
20+
List<PathToSchemasMap> containsPathToSchemas
21+
) {
22+
if (!(arg instanceof List)) {
23+
return null;
24+
}
25+
if (containsPathToSchemas.size() < minContains) {
26+
throw new ValidationException(
27+
"Validation failed for minContains keyword in class="+schema.getClass()+
28+
" at pathToItem="+validationMetadata.pathToItem()+". Too few items validated to the contains schema."
29+
)
30+
}
31+
return null;
32+
}
33+
}

src/main/resources/java/src/main/java/packagename/components/schemas/SchemaClass/_Schema_list.hbs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public static class {{jsonPathPiece.pascalCase}} extends JsonSchema implements L
4949
{{/if}}
5050
{{#neq maxContains null}}
5151
{{> src/main/java/packagename/components/schemas/SchemaClass/_maxContains }}
52-
{{/if}}
52+
{{/neq}}
5353
{{#neq minContains null}}
5454
{{> src/main/java/packagename/components/schemas/SchemaClass/_minContains }}
5555
{{/neq}}

0 commit comments

Comments
 (0)