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

Commit f016ff0

Browse files
authored
Java, eliminates almost all schema reflection (#327)
* Adds JsonSchemaFactory * Updates PathToSchemasMap * Updates VlidationMetadata validationRanEarlier * Updates JsonSchema validate methods * Updates getPathToSchemas * Updates BooleanJsonSchema * Updates DateJsonSchema * Updates DateTimeJsonSchema * Updates 3 validators * Updates not, oneOf, and items validators * Updates properties validator * Updates decimal and double json schemas * Updates Float and Int32 schemas * Updates int64 and int json schema * Updates List and Map schemas * Updates map and not json schema * Updates null and number json schemas * Updates string and uuid schemas * Adds missing imports * validate methods updated * Adds many needed schema fixes * Adds parameterization to anytype classes * Adds generics to schemas * Fixes case where map schema does not have an output class * Fixes one test file * Fixes ref boolean schema test * Fixes anytypeschematest * Fixes the validator tests * Updates schema constructors * Fixes java tests in 303 sample * Fixes ref boolean schema test * Fixes ArrayTypeSchemaTest * Fixes ObjectTypeSchemaTest * Adds super into schema constructors * Fixes java tests
1 parent 9596ebd commit f016ff0

File tree

666 files changed

+13330
-10938
lines changed

Some content is hidden

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

666 files changed

+13330
-10938
lines changed

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

+1
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,7 @@ src/main/java/org/openapijsonschematools/client/schemas/validation/FrozenList.ja
212212
src/main/java/org/openapijsonschematools/client/schemas/validation/FrozenMap.java
213213
src/main/java/org/openapijsonschematools/client/schemas/validation/ItemsValidator.java
214214
src/main/java/org/openapijsonschematools/client/schemas/validation/JsonSchema.java
215+
src/main/java/org/openapijsonschematools/client/schemas/validation/JsonSchemaFactory.java
215216
src/main/java/org/openapijsonschematools/client/schemas/validation/KeywordEntry.java
216217
src/main/java/org/openapijsonschematools/client/schemas/validation/KeywordValidator.java
217218
src/main/java/org/openapijsonschematools/client/schemas/validation/LengthValidator.java

samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/components/schemas/AdditionalpropertiesAllowsASchemaWhichShouldValidate.java

+19-14
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,10 @@
77
import org.openapijsonschematools.client.schemas.AnyTypeJsonSchema;
88
import org.openapijsonschematools.client.schemas.BooleanJsonSchema;
99
import org.openapijsonschematools.client.schemas.validation.AdditionalPropertiesValidator;
10+
import org.openapijsonschematools.client.schemas.validation.FrozenList;
1011
import org.openapijsonschematools.client.schemas.validation.FrozenMap;
1112
import org.openapijsonschematools.client.schemas.validation.JsonSchema;
13+
import org.openapijsonschematools.client.schemas.validation.JsonSchemaFactory;
1214
import org.openapijsonschematools.client.schemas.validation.KeywordEntry;
1315
import org.openapijsonschematools.client.schemas.validation.KeywordValidator;
1416
import org.openapijsonschematools.client.schemas.validation.PropertiesValidator;
@@ -38,7 +40,7 @@ public static class AdditionalpropertiesAllowsASchemaWhichShouldValidateMap exte
3840
"bar"
3941
);
4042
public static AdditionalpropertiesAllowsASchemaWhichShouldValidateMap of(Map<String, Object> arg, SchemaConfiguration configuration) throws ValidationException {
41-
return AdditionalpropertiesAllowsASchemaWhichShouldValidate1.validate(arg, configuration);
43+
return JsonSchemaFactory.getInstance(AdditionalpropertiesAllowsASchemaWhichShouldValidate1.class).validate(arg, configuration);
4244
}
4345

4446
public Object foo() {
@@ -63,27 +65,30 @@ public class AdditionalpropertiesAllowsASchemaWhichShouldValidateMapInput {
6365
}
6466

6567

66-
public static class AdditionalpropertiesAllowsASchemaWhichShouldValidate1 extends JsonSchema {
68+
public static class AdditionalpropertiesAllowsASchemaWhichShouldValidate1 extends JsonSchema<AdditionalpropertiesAllowsASchemaWhichShouldValidateMap, FrozenList> {
6769
/*
6870
NOTE: This class is auto generated by OpenAPI JSON Schema Generator.
6971
Ref: https://github.com/openapi-json-schema-tools/openapi-json-schema-generator
7072
7173
Do not edit the class manually.
7274
*/
73-
public static final LinkedHashMap<String, KeywordValidator> keywordToValidator = new LinkedHashMap<>(Map.ofEntries(
74-
new KeywordEntry("type", new TypeValidator(Set.of(FrozenMap.class))),
75-
new KeywordEntry("properties", new PropertiesValidator(Map.ofEntries(
76-
new PropertyEntry("foo", Foo.class),
77-
new PropertyEntry("bar", Bar.class)
78-
))),
79-
new KeywordEntry("additionalProperties", new AdditionalPropertiesValidator(AdditionalProperties.class))
80-
));
75+
public AdditionalpropertiesAllowsASchemaWhichShouldValidate1() {
76+
super(new LinkedHashMap<>(Map.ofEntries(
77+
new KeywordEntry("type", new TypeValidator(Set.of(FrozenMap.class))),
78+
new KeywordEntry("properties", new PropertiesValidator(Map.ofEntries(
79+
new PropertyEntry("foo", Foo.class),
80+
new PropertyEntry("bar", Bar.class)
81+
))),
82+
new KeywordEntry("additionalProperties", new AdditionalPropertiesValidator(AdditionalProperties.class))
83+
)));
84+
}
8185

82-
protected static AdditionalpropertiesAllowsASchemaWhichShouldValidateMap getMapOutputInstance(FrozenMap<String, Object> arg) {
83-
return new AdditionalpropertiesAllowsASchemaWhichShouldValidateMap(arg);
86+
@Override
87+
protected AdditionalpropertiesAllowsASchemaWhichShouldValidateMap getMapOutputInstance(FrozenMap<?, ?> arg) {
88+
return new AdditionalpropertiesAllowsASchemaWhichShouldValidateMap((FrozenMap<String, Object>) arg);
8489
}
85-
public static AdditionalpropertiesAllowsASchemaWhichShouldValidateMap validate(Map<String, Object> arg, SchemaConfiguration configuration) throws ValidationException {
86-
return JsonSchema.validateMap(AdditionalpropertiesAllowsASchemaWhichShouldValidate1.class, arg, configuration);
90+
public AdditionalpropertiesAllowsASchemaWhichShouldValidateMap validate(Map<String, Object> arg, SchemaConfiguration configuration) throws ValidationException {
91+
return validateMap(arg, configuration);
8792
}
8893
}
8994
}

samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/components/schemas/AdditionalpropertiesAreAllowedByDefault.java

+38-34
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import org.openapijsonschematools.client.schemas.validation.FrozenList;
1313
import org.openapijsonschematools.client.schemas.validation.FrozenMap;
1414
import org.openapijsonschematools.client.schemas.validation.JsonSchema;
15+
import org.openapijsonschematools.client.schemas.validation.JsonSchemaFactory;
1516
import org.openapijsonschematools.client.schemas.validation.KeywordEntry;
1617
import org.openapijsonschematools.client.schemas.validation.KeywordValidator;
1718
import org.openapijsonschematools.client.schemas.validation.PropertiesValidator;
@@ -37,7 +38,7 @@ public static class AdditionalpropertiesAreAllowedByDefaultMap extends FrozenMap
3738
"bar"
3839
);
3940
public static AdditionalpropertiesAreAllowedByDefaultMap of(Map<String, Object> arg, SchemaConfiguration configuration) throws ValidationException {
40-
return AdditionalpropertiesAreAllowedByDefault1.validate(arg, configuration);
41+
return JsonSchemaFactory.getInstance(AdditionalpropertiesAreAllowedByDefault1.class).validate(arg, configuration);
4142
}
4243

4344
public Object foo() {
@@ -63,68 +64,71 @@ public class AdditionalpropertiesAreAllowedByDefaultMapInput {
6364
}
6465

6566

66-
public static class AdditionalpropertiesAreAllowedByDefault1 extends JsonSchema {
67+
public static class AdditionalpropertiesAreAllowedByDefault1 extends JsonSchema<AdditionalpropertiesAreAllowedByDefaultMap, FrozenList> {
6768
/*
6869
NOTE: This class is auto generated by OpenAPI JSON Schema Generator.
6970
Ref: https://github.com/openapi-json-schema-tools/openapi-json-schema-generator
7071
7172
Do not edit the class manually.
7273
*/
73-
public static final LinkedHashMap<String, KeywordValidator> keywordToValidator = new LinkedHashMap<>(Map.ofEntries(
74-
new KeywordEntry("properties", new PropertiesValidator(Map.ofEntries(
75-
new PropertyEntry("foo", Foo.class),
76-
new PropertyEntry("bar", Bar.class)
77-
)))
78-
));
74+
public AdditionalpropertiesAreAllowedByDefault1() {
75+
super(new LinkedHashMap<>(Map.ofEntries(
76+
new KeywordEntry("properties", new PropertiesValidator(Map.ofEntries(
77+
new PropertyEntry("foo", Foo.class),
78+
new PropertyEntry("bar", Bar.class)
79+
)))
80+
)));
81+
}
7982

80-
protected static AdditionalpropertiesAreAllowedByDefaultMap getMapOutputInstance(FrozenMap<String, Object> arg) {
81-
return new AdditionalpropertiesAreAllowedByDefaultMap(arg);
83+
@Override
84+
protected AdditionalpropertiesAreAllowedByDefaultMap getMapOutputInstance(FrozenMap<?, ?> arg) {
85+
return new AdditionalpropertiesAreAllowedByDefaultMap((FrozenMap<String, Object>) arg);
8286
}
83-
public static Void validate(Void arg, SchemaConfiguration configuration) throws ValidationException {
84-
return JsonSchema.validateVoid(AdditionalpropertiesAreAllowedByDefault1.class, arg, configuration);
87+
public Void validate(Void arg, SchemaConfiguration configuration) throws ValidationException {
88+
return validateVoid(arg, configuration);
8589
}
8690

87-
public static boolean validate(boolean arg, SchemaConfiguration configuration) throws ValidationException {
88-
return JsonSchema.validateBoolean(AdditionalpropertiesAreAllowedByDefault1.class, arg, configuration);
91+
public boolean validate(boolean arg, SchemaConfiguration configuration) throws ValidationException {
92+
return validateBoolean(arg, configuration);
8993
}
9094

91-
public static int validate(int arg, SchemaConfiguration configuration) throws ValidationException {
92-
return JsonSchema.validateInt(AdditionalpropertiesAreAllowedByDefault1.class, arg, configuration);
95+
public int validate(int arg, SchemaConfiguration configuration) throws ValidationException {
96+
return validateInt(arg, configuration);
9397
}
9498

95-
public static long validate(long arg, SchemaConfiguration configuration) throws ValidationException {
96-
return JsonSchema.validateLong(AdditionalpropertiesAreAllowedByDefault1.class, arg, configuration);
99+
public long validate(long arg, SchemaConfiguration configuration) throws ValidationException {
100+
return validateLong(arg, configuration);
97101
}
98102

99-
public static float validate(float arg, SchemaConfiguration configuration) throws ValidationException {
100-
return JsonSchema.validateFloat(AdditionalpropertiesAreAllowedByDefault1.class, arg, configuration);
103+
public float validate(float arg, SchemaConfiguration configuration) throws ValidationException {
104+
return validateFloat(arg, configuration);
101105
}
102106

103-
public static double validate(double arg, SchemaConfiguration configuration) throws ValidationException {
104-
return JsonSchema.validateDouble(AdditionalpropertiesAreAllowedByDefault1.class, arg, configuration);
107+
public double validate(double arg, SchemaConfiguration configuration) throws ValidationException {
108+
return validateDouble(arg, configuration);
105109
}
106110

107-
public static String validate(String arg, SchemaConfiguration configuration) throws ValidationException {
108-
return JsonSchema.validateString(AdditionalpropertiesAreAllowedByDefault1.class, arg, configuration);
111+
public String validate(String arg, SchemaConfiguration configuration) throws ValidationException {
112+
return validateString(arg, configuration);
109113
}
110114

111-
public static String validate(ZonedDateTime arg, SchemaConfiguration configuration) throws ValidationException {
112-
return JsonSchema.validateZonedDateTime(AdditionalpropertiesAreAllowedByDefault1.class, arg, configuration);
115+
public String validate(ZonedDateTime arg, SchemaConfiguration configuration) throws ValidationException {
116+
return validateZonedDateTime(arg, configuration);
113117
}
114118

115-
public static String validate(LocalDate arg, SchemaConfiguration configuration) throws ValidationException {
116-
return JsonSchema.validateLocalDate(AdditionalpropertiesAreAllowedByDefault1.class, arg, configuration);
119+
public String validate(LocalDate arg, SchemaConfiguration configuration) throws ValidationException {
120+
return validateLocalDate(arg, configuration);
117121
}
118122

119-
public static String validate(UUID arg, SchemaConfiguration configuration) throws ValidationException {
120-
return JsonSchema.validateUUID(AdditionalpropertiesAreAllowedByDefault1.class, arg, configuration);
123+
public String validate(UUID arg, SchemaConfiguration configuration) throws ValidationException {
124+
return validateUUID(arg, configuration);
121125
}
122126

123-
public static AdditionalpropertiesAreAllowedByDefaultMap validate(Map<String, Object> arg, SchemaConfiguration configuration) throws ValidationException {
124-
return JsonSchema.validateMap(AdditionalpropertiesAreAllowedByDefault1.class, arg, configuration);
127+
public AdditionalpropertiesAreAllowedByDefaultMap validate(Map<String, Object> arg, SchemaConfiguration configuration) throws ValidationException {
128+
return validateMap(arg, configuration);
125129
}
126130

127-
public static FrozenList<Object> validate(List<Object> arg, SchemaConfiguration configuration) throws ValidationException {
128-
return JsonSchema.validateList(AdditionalpropertiesAreAllowedByDefault1.class, arg, configuration);
131+
public FrozenList<Object> validate(List<Object> arg, SchemaConfiguration configuration) throws ValidationException {
132+
return validateList(arg, configuration);
129133
}
130134
}}

samples/client/3_0_3_unit_test/java/src/main/java/org/openapijsonschematools/client/components/schemas/AdditionalpropertiesCanExistByItself.java

+15-10
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,10 @@
66
import org.openapijsonschematools.client.exceptions.ValidationException;
77
import org.openapijsonschematools.client.schemas.BooleanJsonSchema;
88
import org.openapijsonschematools.client.schemas.validation.AdditionalPropertiesValidator;
9+
import org.openapijsonschematools.client.schemas.validation.FrozenList;
910
import org.openapijsonschematools.client.schemas.validation.FrozenMap;
1011
import org.openapijsonschematools.client.schemas.validation.JsonSchema;
12+
import org.openapijsonschematools.client.schemas.validation.JsonSchemaFactory;
1113
import org.openapijsonschematools.client.schemas.validation.KeywordEntry;
1214
import org.openapijsonschematools.client.schemas.validation.KeywordValidator;
1315
import org.openapijsonschematools.client.schemas.validation.TypeValidator;
@@ -26,7 +28,7 @@ public static class AdditionalpropertiesCanExistByItselfMap extends FrozenMap<St
2628
public static final Set<String> requiredKeys = Set.of();
2729
public static final Set<String> optionalKeys = Set.of();
2830
public static AdditionalpropertiesCanExistByItselfMap of(Map<String, Boolean> arg, SchemaConfiguration configuration) throws ValidationException {
29-
return AdditionalpropertiesCanExistByItself1.validate(arg, configuration);
31+
return JsonSchemaFactory.getInstance(AdditionalpropertiesCanExistByItself1.class).validate(arg, configuration);
3032
}
3133

3234
public boolean getAdditionalProperty(String name) {
@@ -39,23 +41,26 @@ public class AdditionalpropertiesCanExistByItselfMapInput {
3941
}
4042

4143

42-
public static class AdditionalpropertiesCanExistByItself1 extends JsonSchema {
44+
public static class AdditionalpropertiesCanExistByItself1 extends JsonSchema<AdditionalpropertiesCanExistByItselfMap, FrozenList> {
4345
/*
4446
NOTE: This class is auto generated by OpenAPI JSON Schema Generator.
4547
Ref: https://github.com/openapi-json-schema-tools/openapi-json-schema-generator
4648
4749
Do not edit the class manually.
4850
*/
49-
public static final LinkedHashMap<String, KeywordValidator> keywordToValidator = new LinkedHashMap<>(Map.ofEntries(
50-
new KeywordEntry("type", new TypeValidator(Set.of(FrozenMap.class))),
51-
new KeywordEntry("additionalProperties", new AdditionalPropertiesValidator(AdditionalProperties.class))
52-
));
51+
public AdditionalpropertiesCanExistByItself1() {
52+
super(new LinkedHashMap<>(Map.ofEntries(
53+
new KeywordEntry("type", new TypeValidator(Set.of(FrozenMap.class))),
54+
new KeywordEntry("additionalProperties", new AdditionalPropertiesValidator(AdditionalProperties.class))
55+
)));
56+
}
5357

54-
protected static AdditionalpropertiesCanExistByItselfMap getMapOutputInstance(FrozenMap<String, Boolean> arg) {
55-
return new AdditionalpropertiesCanExistByItselfMap(arg);
58+
@Override
59+
protected AdditionalpropertiesCanExistByItselfMap getMapOutputInstance(FrozenMap<?, ?> arg) {
60+
return new AdditionalpropertiesCanExistByItselfMap((FrozenMap<String, Boolean>) arg);
5661
}
57-
public static AdditionalpropertiesCanExistByItselfMap validate(Map<String, Boolean> arg, SchemaConfiguration configuration) throws ValidationException {
58-
return JsonSchema.validateMap(AdditionalpropertiesCanExistByItself1.class, arg, configuration);
62+
public AdditionalpropertiesCanExistByItselfMap validate(Map<String, Boolean> arg, SchemaConfiguration configuration) throws ValidationException {
63+
return validateMap(arg, configuration);
5964
}
6065
}
6166
}

0 commit comments

Comments
 (0)