@@ -54,8 +54,7 @@ private static boolean hasGeneric(IJsonSchemaValidationProperties property) {
54
54
}
55
55
return (
56
56
(boolean ) vendorExtensions .getOrDefault ("x-propagated-generic" , false ) ||
57
- (boolean ) vendorExtensions .getOrDefault ("x-has-child-generic" , false ) ||
58
- (boolean ) vendorExtensions .getOrDefault ("x-is-generic" , false )
57
+ (boolean ) vendorExtensions .getOrDefault ("x-has-child-generic" , false )
59
58
);
60
59
}
61
60
@@ -80,13 +79,16 @@ private static boolean markPropagatedGeneric(
80
79
}
81
80
// if items itself isn't generic, we recurse on its items and properties until we reach the
82
81
// end or find a generic property
83
- if (items != null && (hasGeneric (items ) || markPropagatedGeneric (items , getVar , skipOneOf ))) {
82
+ if (
83
+ items != null &&
84
+ ((boolean ) items .vendorExtensions .getOrDefault ("x-is-generic" , false ) || markPropagatedGeneric (items , getVar , skipOneOf ))
85
+ ) {
84
86
setPropagatedGeneric (model );
85
87
return true ;
86
88
}
87
89
for (CodegenProperty variable : getVar .apply (model )) {
88
90
// same thing for the variable, if it's not a generic, we recurse on it until we find one
89
- if (hasGeneric ( items ) || markPropagatedGeneric (variable , getVar , skipOneOf )) {
91
+ if (( boolean ) variable . vendorExtensions . getOrDefault ( "x-is-generic" , false ) || markPropagatedGeneric (variable , getVar , skipOneOf )) {
90
92
setPropagatedGeneric (model );
91
93
return true ;
92
94
}
@@ -130,8 +132,7 @@ private static void setGenericToComposedSchema(
130
132
return ;
131
133
}
132
134
for (CodegenProperty prop : composedSchemas ) {
133
- if (hasGeneric (prop ) || hasGeneric (propertyToModel (models , prop ))) {
134
- setHasChildGeneric (model );
135
+ if (hasGeneric (propertyToModel (models , prop ))) {
135
136
setHasChildGeneric (prop );
136
137
}
137
138
}
@@ -208,7 +209,7 @@ public static void propagateGenericsToModels(Map<String, ModelsMap> modelsMap) {
208
209
}
209
210
210
211
public static void propagateGenericsToModels (Map <String , ModelsMap > modelsMap , boolean skipOneOf ) {
211
- propagateGenericsToModels ("dontcare" , "dontcare" , modelsMap , false );
212
+ propagateGenericsToModels ("dontcare" , "dontcare" , modelsMap , skipOneOf );
212
213
}
213
214
214
215
public static void propagateGenericsToModels (String language , String client , Map <String , ModelsMap > modelsMap ) {
0 commit comments