@@ -1383,7 +1383,7 @@ public CodegenModel fromModel(String name, Model model, Map<String, Model> allDe
1383
1383
allRequired = null ;
1384
1384
}
1385
1385
// parent model
1386
- RefModel parent = (RefModel ) composed .getParent ();
1386
+ Model parent = (Model ) composed .getParent ();
1387
1387
1388
1388
// interfaces (intermediate models)
1389
1389
if (composed .getInterfaces () != null ) {
@@ -1416,16 +1416,31 @@ public CodegenModel fromModel(String name, Model model, Map<String, Model> allDe
1416
1416
}
1417
1417
1418
1418
if (parent != null ) {
1419
- final String parentRef = parent .getSimpleRef ();
1420
- m .parentSchema = parentRef ;
1421
- m .parent = toModelName (parent .getSimpleRef ());
1422
- addImport (m , m .parent );
1423
- if (allDefinitions != null ) {
1424
- final Model parentModel = allDefinitions .get (m .parentSchema );
1425
- if (supportsInheritance ) {
1426
- addProperties (allProperties , allRequired , parentModel , allDefinitions );
1427
- } else {
1428
- addProperties (properties , required , parentModel , allDefinitions );
1419
+ String parentName = null ;
1420
+ if (parent instanceof RefModel ) {
1421
+ parentName = ((RefModel )parent ).getSimpleRef ();
1422
+ }
1423
+ else {
1424
+ if (parent instanceof ModelImpl ) {
1425
+ // check for a title
1426
+ ModelImpl parentImpl = (ModelImpl ) parent ;
1427
+ if (StringUtils .isNotBlank (parentImpl .getTitle ())) {
1428
+ parentName = parentImpl .getTitle ();
1429
+ }
1430
+ }
1431
+ }
1432
+
1433
+ if (parentName != null ) {
1434
+ m .parentSchema = parentName ;
1435
+ m .parent = toModelName (parentName );
1436
+ addImport (m , m .parent );
1437
+ if (allDefinitions != null ) {
1438
+ final Model parentModel = allDefinitions .get (m .parentSchema );
1439
+ if (supportsInheritance ) {
1440
+ addProperties (allProperties , allRequired , parentModel , allDefinitions );
1441
+ } else {
1442
+ addProperties (properties , required , parentModel , allDefinitions );
1443
+ }
1429
1444
}
1430
1445
}
1431
1446
}
0 commit comments