@@ -367,9 +367,11 @@ private Model getParent(Model model) {
367
367
Map <String , Model > modelMap = new HashMap <String , Model >();
368
368
modelMap .put (name , model );
369
369
Map <String , Object > models = processModels (config , modelMap , definitions );
370
- models .put ("classname" , config .toModelName (name ));
371
- models .putAll (config .additionalProperties ());
372
- allProcessedModels .put (name , models );
370
+ if (models != null ) {
371
+ models .put ("classname" , config .toModelName (name ));
372
+ models .putAll (config .additionalProperties ());
373
+ allProcessedModels .put (name , models );
374
+ }
373
375
} catch (Exception e ) {
374
376
String message = "Could not process model '" + name + "'" + ". Please make sure that your schema is correct!" ;
375
377
LOGGER .error (message , e );
@@ -1016,6 +1018,16 @@ private Map<String, Object> processModels(CodegenConfig config, Map<String, Mode
1016
1018
Set <String > allImports = new LinkedHashSet <String >();
1017
1019
for (String key : definitions .keySet ()) {
1018
1020
Model mm = definitions .get (key );
1021
+ if (mm .getVendorExtensions () != null && mm .getVendorExtensions ().containsKey ("x-codegen-ignore" )) {
1022
+ // skip this model
1023
+ LOGGER .debug ("skipping model " + key );
1024
+ return null ;
1025
+ }
1026
+ else if (mm .getVendorExtensions () != null && mm .getVendorExtensions ().containsKey ("x-codegen-import-mapping" )) {
1027
+ String codegenImport = mm .getVendorExtensions ().get ("x-codegen-import-mapping" ).toString ();
1028
+ config .importMapping ().put (key , codegenImport );
1029
+ allImports .add (codegenImport );
1030
+ }
1019
1031
CodegenModel cm = config .fromModel (key , mm , allDefinitions );
1020
1032
Map <String , Object > mo = new HashMap <String , Object >();
1021
1033
mo .put ("model" , cm );
0 commit comments