@@ -189,25 +189,31 @@ protected void addInterfaces(List<Schema> schemas, CodegenModel codegenModel, Ma
189189 final String schemaName = ref .substring (ref .lastIndexOf ("/" ) + 1 );
190190
191191 final CodegenModel model = allModels .get (codegenConfig .toModelName (schemaName ));
192- this .addInterfaceModel (model , codegenModel );
193-
194- boolean subTypeAdded = false ;
195- if (codegenModel .getSubTypes () != null ) {
196- subTypeAdded = codegenModel .getSubTypes ().stream ().anyMatch (existingSubType -> existingSubType .classname .equalsIgnoreCase (model .classname ));
197- }
198- if (!subTypeAdded ) {
199- codegenModel .addSubType (model );
200- }
201-
202-
203- if (codegenModel .getDiscriminator () != null && StringUtils .isNotBlank (codegenModel .getDiscriminator ().getPropertyName ())) {
204- Optional <CodegenProperty > optionalProperty = model .vars .stream ()
205- .filter (codegenProperty -> codegenProperty .baseName .equals (codegenModel .getDiscriminator ().getPropertyName ())).findFirst ();
206-
207- optionalProperty .ifPresent (codegenProperty -> {
208- codegenModel .getVendorExtensions ().put ("x-discriminator-type" , codegenProperty .datatypeWithEnum );
209- codegenModel .getVendorExtensions ().put ("x-discriminator-type-getter" , codegenConfig .toGetter (codegenModel .getDiscriminator ().getPropertyName ()));
210- });
192+ if (model != null ) {
193+ {
194+ this .addInterfaceModel (model , codegenModel );
195+
196+ boolean subTypeAdded = false ;
197+ if (codegenModel .getSubTypes () != null ) {
198+ subTypeAdded = codegenModel .getSubTypes ().stream ().anyMatch (existingSubType -> existingSubType .classname .equalsIgnoreCase (model .classname ));
199+ }
200+ if (!subTypeAdded ) {
201+ codegenModel .addSubType (model );
202+ }
203+
204+
205+ if (codegenModel .getDiscriminator () != null && StringUtils .isNotBlank (codegenModel .getDiscriminator ().getPropertyName ())) {
206+ Optional <CodegenProperty > optionalProperty = model .vars .stream ()
207+ .filter (codegenProperty -> codegenProperty .baseName .equals (codegenModel .getDiscriminator ().getPropertyName ())).findFirst ();
208+
209+ optionalProperty .ifPresent (codegenProperty -> {
210+ codegenModel .getVendorExtensions ().put ("x-discriminator-type" , codegenProperty .datatypeWithEnum );
211+ codegenModel .getVendorExtensions ().put ("x-discriminator-type-getter" , codegenConfig .toGetter (codegenModel .getDiscriminator ().getPropertyName ()));
212+ });
213+ }
214+ }
215+ }else {
216+ throw new NullPointerException ("Could not find model for reference: " + ref );
211217 }
212218 }
213219 }
0 commit comments