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

Commit 10322f9

Browse files
authored
Java, adjusts KeywordValidator validate inputs (#335)
* Adusts interface, validators and tests * Fixes templates * Fixes java tests * Fixes java tests * Samples regen
1 parent da97685 commit 10322f9

File tree

99 files changed

+489
-528
lines changed

Some content is hidden

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

99 files changed

+489
-528
lines changed

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

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,18 @@ public Object getConstraint() {
2020
}
2121

2222
@Override
23-
public PathToSchemasMap validate(Class<? extends JsonSchema> cls, Object arg, ValidationMetadata validationMetadata, Object extra) {
23+
public PathToSchemasMap validate(JsonSchema schema, Object arg, ValidationMetadata validationMetadata) {
2424
if (!(arg instanceof Map)) {
2525
return null;
2626
}
2727
Map<String, Object> castArg = (Map<String, Object>) arg;
28-
Map<String, Class<JsonSchema>> properties = (Map<String, Class<JsonSchema>>) extra;
29-
if (properties == null) {
30-
properties = new LinkedHashMap<>();
31-
}
3228
Set<String> presentAdditionalProperties = new LinkedHashSet<>(castArg.keySet());
33-
presentAdditionalProperties.removeAll(properties.keySet());
29+
if (schema.keywordToValidator != null) {
30+
KeywordValidator propertiesValidator = schema.keywordToValidator.get("properties");
31+
if (propertiesValidator instanceof PropertiesValidator) {
32+
presentAdditionalProperties.removeAll(((PropertiesValidator) propertiesValidator).properties.keySet());
33+
}
34+
}
3435
PathToSchemasMap pathToSchemas = new PathToSchemasMap();
3536
// todo add handling for validatedPatternProperties
3637
for(String addPropName: presentAdditionalProperties) {

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 Object getConstraint() {
1515
}
1616

1717
@Override
18-
public PathToSchemasMap validate(Class<? extends JsonSchema> cls, Object arg, ValidationMetadata validationMetadata, Object extra) {
18+
public PathToSchemasMap validate(JsonSchema schema, Object arg, ValidationMetadata validationMetadata) {
1919
PathToSchemasMap pathToSchemas = new PathToSchemasMap();
2020
for(Class<? extends JsonSchema> allOfClass: allOf) {
2121
JsonSchema allOfSchema = JsonSchemaFactory.getInstance(allOfClass);

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@ public Object getConstraint() {
1818
}
1919

2020
@Override
21-
public PathToSchemasMap validate(Class<? extends JsonSchema> cls, Object arg, ValidationMetadata validationMetadata, Object extra) {
21+
public PathToSchemasMap validate(JsonSchema schema, Object arg, ValidationMetadata validationMetadata) {
2222
PathToSchemasMap pathToSchemas = new PathToSchemasMap();
2323
List<Class<? extends JsonSchema>> validatedAnyOfClasses = new ArrayList<>();
2424
for(Class<? extends JsonSchema> anyOfClass: anyOf) {
25-
if (anyOfClass == cls) {
25+
if (anyOfClass == schema.getClass()) {
2626
/*
27-
optimistically assume that cls schema will pass validation
27+
optimistically assume that schema will pass validation
2828
do not invoke _validate on it because that is recursive
2929
*/
3030
validatedAnyOfClasses.add(anyOfClass);
@@ -40,7 +40,7 @@ public PathToSchemasMap validate(Class<? extends JsonSchema> cls, Object arg, Va
4040
}
4141
}
4242
if (validatedAnyOfClasses.isEmpty()) {
43-
throw new ValidationException("Invalid inputs given to generate an instance of "+cls+". None "+
43+
throw new ValidationException("Invalid inputs given to generate an instance of "+schema.getClass()+". None "+
4444
"of the anyOf schemas matched the input data."
4545
);
4646
}

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
@@ -18,7 +18,7 @@ public Object getConstraint() {
1818
}
1919

2020
@Override
21-
public PathToSchemasMap validate(Class<? extends JsonSchema> cls, Object arg, ValidationMetadata validationMetadata, Object extra) {
21+
public PathToSchemasMap validate(JsonSchema schema, Object arg, ValidationMetadata validationMetadata) {
2222
if (enumValues.isEmpty()) {
2323
throw new ValidationException("No value can match enum because enum is empty");
2424
}

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
@@ -16,7 +16,7 @@ public Object getConstraint() {
1616
}
1717

1818
@Override
19-
public PathToSchemasMap validate(Class<? extends JsonSchema> cls, Object arg, ValidationMetadata validationMetadata, Object extra) {
19+
public PathToSchemasMap validate(JsonSchema schema, Object arg, ValidationMetadata validationMetadata) {
2020
if (!(arg instanceof Number)) {
2121
return null;
2222
}

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
@@ -16,7 +16,7 @@ public Object getConstraint() {
1616
}
1717

1818
@Override
19-
public PathToSchemasMap validate(Class<? extends JsonSchema> cls, Object arg, ValidationMetadata validationMetadata, Object extra) {
19+
public PathToSchemasMap validate(JsonSchema schema, Object arg, ValidationMetadata validationMetadata) {
2020
if (!(arg instanceof Number)) {
2121
return null;
2222
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ public Object getConstraint() {
77
}
88

99
@Override
10-
public PathToSchemasMap validate(Class<? extends JsonSchema> cls, Object arg, ValidationMetadata validationMetadata, Object extra) {
10+
public PathToSchemasMap validate(JsonSchema schema, Object arg, ValidationMetadata validationMetadata) {
1111
return null;
1212
}
1313
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ private Void validateStringFormat(String arg, ValidationMetadata validationMetad
147147
}
148148

149149
@Override
150-
public PathToSchemasMap validate(Class<? extends JsonSchema> cls, Object arg, ValidationMetadata validationMetadata, Object extra) {
150+
public PathToSchemasMap validate(JsonSchema schema, Object arg, ValidationMetadata validationMetadata) {
151151
if (arg instanceof Number) {
152152
validateNumericFormat(
153153
(Number) arg,

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public Object getConstraint() {
1616
}
1717

1818
@Override
19-
public PathToSchemasMap validate(Class<? extends JsonSchema> cls, Object arg, ValidationMetadata validationMetadata, Object extra) {
19+
public PathToSchemasMap validate(JsonSchema schema, Object arg, ValidationMetadata validationMetadata) {
2020
if (!(arg instanceof List)) {
2121
return null;
2222
}

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

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,11 @@ public static PathToSchemasMap validate(
3737
if (disabledKeywords.contains(jsonKeyword)) {
3838
continue;
3939
}
40-
if (jsonKeyword.equals("additionalProperties") && thisKeywordToValidator.containsKey("properties")) {
41-
extra = thisKeywordToValidator.get("properties").getConstraint();
42-
}
4340
KeywordValidator validator = entry.getValue();
4441
PathToSchemasMap otherPathToSchemas = validator.validate(
45-
jsonSchema.getClass(),
42+
jsonSchema,
4643
arg,
47-
validationMetadata,
48-
extra
44+
validationMetadata
4945
);
5046
if (otherPathToSchemas == null) {
5147
continue;

0 commit comments

Comments
 (0)