@@ -1402,9 +1402,9 @@ private ClassInfo buildClassInfo(String modelName, StructureDefinition sd) throw
14021402 logger .info ("Building ClassInfo for {}" , typeName );
14031403 ClassInfo info = new ClassInfo ().withName (typeName ).withNamespace (modelName ).withLabel (this .getLabel (sd ))
14041404 .withIdentifier (sd .getUrl ())
1405- .withRetrievable (sd . getKind () == StructureDefinitionKind . RESOURCE );
1405+ .withRetrievable (isStructureDefinitionRetrievable ( sd ) );
14061406
1407- if (sd . getKind () == StructureDefinitionKind . RESOURCE ) {
1407+ if (isStructureDefinitionResource ( sd ) ) {
14081408 String targetTypeName = getTargetTypeName (sd );
14091409 if (targetTypeName != null ) {
14101410 info .setTarget (targetTypeName );
@@ -1442,7 +1442,7 @@ private ClassInfo buildClassInfo(String modelName, StructureDefinition sd) throw
14421442 }
14431443
14441444 String baseDefinition = sd .getBaseDefinition ();
1445- String baseTypeName = sd . getKind () == StructureDefinitionKind . RESOURCE
1445+ String baseTypeName = isStructureDefinitionResource ( sd )
14461446 ? resolveBaseTypeName (sd .getType ()) : resolveTypeName (baseDefinition );
14471447
14481448 if (baseTypeName != null && !this .typeInfos .containsKey (baseTypeName )) {
@@ -1473,6 +1473,14 @@ private ClassInfo buildClassInfo(String modelName, StructureDefinition sd) throw
14731473 return info ;
14741474 }
14751475
1476+ protected static boolean isStructureDefinitionRetrievable (StructureDefinition theStructureDefinition ) {
1477+ return isStructureDefinitionResource (theStructureDefinition ) && ! theStructureDefinition .getAbstract ();
1478+ }
1479+
1480+ protected static boolean isStructureDefinitionResource (StructureDefinition theStructureDefinition ) {
1481+ return theStructureDefinition .getKind () == StructureDefinitionKind .RESOURCE ;
1482+ }
1483+
14761484 @ SuppressWarnings ("unused" )
14771485 private StructureDefinition getBaseDefinitionStructureDef (String model , StructureDefinition sd ) {
14781486 String baseSd = (sd .getBaseDefinition () == null ) ? null : getTail (sd .getBaseDefinition ());
0 commit comments