@@ -523,58 +523,6 @@ public void addOperationToGroup(String tag, String resourcePath, Operation opera
523
523
}
524
524
}
525
525
526
- @ Override
527
- public void addOneOfInterfaceModel (ComposedSchema cs , String name ) {
528
- CodegenModel codegenModel = new CodegenModel ();
529
-
530
- for (Schema o : cs .getOneOf ()) {
531
- codegenModel .oneOf .add (toModelName (ModelUtils .getSimpleRef (o .get$ref ())));
532
- }
533
- codegenModel .name = name ;
534
- codegenModel .classname = name ;
535
- codegenModel .vendorExtensions .put ("isOneOfInterface" , true );
536
- codegenModel .discriminator = createDiscriminator ("" , (Schema ) cs );
537
- codegenModel .interfaceModels = new ArrayList <CodegenModel >();
538
-
539
- for (Schema schema : cs .getOneOf ()){
540
- String [] split = schema .get$ref ().split ("/" );
541
- String singleSchemaType = split [split .length -1 ];
542
- CodegenProperty codegenProperty = fromProperty (singleSchemaType , schema );
543
- codegenProperty .setBaseName (singleSchemaType .toLowerCase (Locale .getDefault ()));
544
- codegenModel .vars .add (codegenProperty );
545
- }
546
- addOneOfInterfaces .add (codegenModel );
547
- }
548
-
549
- @ Override
550
- public CodegenParameter fromRequestBody (RequestBody body , Set <String > imports , String bodyParameterName ) {
551
- CodegenParameter codegenParameter = super .fromRequestBody (body , imports , bodyParameterName );
552
- Schema schema = ModelUtils .getSchemaFromRequestBody (body );
553
- CodegenProperty codegenProperty = fromProperty ("property" , schema );
554
-
555
- List <String > oneOfClassNames = new ArrayList <>();
556
- if (codegenProperty != null && codegenProperty .getComplexType () != null && schema instanceof ComposedSchema ) {
557
- // will be set with imports.add(codegenParameter.baseType); in defaultcodegen
558
- imports .clear ();
559
- ComposedSchema composedSchema = (ComposedSchema ) schema ;
560
- for (Schema oneOfSchema : composedSchema .getOneOf ()){
561
- String [] split = oneOfSchema .get$ref ().split ("/" );
562
- oneOfClassNames .add (split [split .length - 1 ]);
563
- }
564
- String codegenModelName = createOneOfClassName (oneOfClassNames );
565
- imports .add (codegenModelName );
566
- codegenParameter .baseName = codegenModelName ;
567
- codegenParameter .paramName = toParamName (codegenParameter .baseName );
568
- codegenParameter .baseType = codegenParameter .baseName ;
569
- codegenParameter .dataType = getTypeDeclaration (codegenModelName );
570
- codegenParameter .description = codegenProperty .getDescription ();
571
- codegenProperty .setComplexType (codegenModelName );
572
- codegenProperty .setBaseName (codegenModelName );
573
- codegenProperty .setDatatype (codegenModelName );
574
- }
575
- return codegenParameter ;
576
- }
577
-
578
526
@ Override
579
527
public void preprocessOpenAPI (OpenAPI openAPI ) {
580
528
super .preprocessOpenAPI (openAPI );
@@ -681,57 +629,6 @@ public void setReturnContainer(final String returnContainer) {
681
629
return objs ;
682
630
}
683
631
684
- @ Override
685
- public Map <String , Object > postProcessAllModels (Map <String , Object > objs ) {
686
- super .postProcessAllModels (objs );
687
- Map <String , OneOfImplementorAdditionalData > additionalDataMap = new HashMap <>();
688
- for (Map .Entry modelsEntry : objs .entrySet ()) {
689
- Map <String , Object > modelsAttrs = (Map <String , Object >) modelsEntry .getValue ();
690
- List <Object > models = (List <Object >) modelsAttrs .get ("models" );
691
- List <Map <String , String >> modelsImports = (List <Map <String , String >>) modelsAttrs
692
- .getOrDefault ("imports" , new ArrayList <Map <String , String >>());
693
- for (Object _mo : models ) {
694
- Map <String , Object > mo = (Map <String , Object >) _mo ;
695
- CodegenModel cm = (CodegenModel ) mo .get ("model" );
696
- if (cm .oneOf .size () > 0 ) {
697
- cm .vendorExtensions .put ("isOneOfInterface" , true );
698
- // if this is oneOf interface, make sure we include the necessary jackson imports for it
699
- for (String classToImport : Arrays
700
- .asList ("JsonTypeInfo" , "JsonSubTypes" , "JsonProperty" ,
701
- "ApiModelProperty" )) {
702
- Map <String , String > i = new HashMap <String , String >() {{
703
- put ("import" , importMapping .get (classToImport ));
704
- }};
705
- if (!modelsImports .contains (i )) {
706
- modelsImports .add (i );
707
- }
708
- }
709
- List <String > oneOfClassNames = new ArrayList <>();
710
-
711
- for (String one : cm .oneOf ) {
712
- if (!additionalDataMap .containsKey (one )) {
713
- additionalDataMap .put (one , new OneOfImplementorAdditionalData (one ));
714
- additionalDataMap .get (one ).addFromInterfaceModel (cm , modelsImports );
715
- }
716
- oneOfClassNames .add (one );
717
- }
718
- String codegenModelName = createOneOfClassName (oneOfClassNames );
719
- cm .name = codegenModelName ;
720
- cm .classname = codegenModelName ;
721
- Object value = modelsEntry .getValue ();
722
- objs .remove (modelsEntry .getKey ());
723
- objs .put (codegenModelName , value );
724
- }
725
- }
726
- }
727
- return objs ;
728
- }
729
-
730
- private String createOneOfClassName (List <String > oneOfClassNames ) {
731
- oneOfClassNames .sort (String ::compareToIgnoreCase );
732
- return "OneOf" + StringUtils .join (oneOfClassNames , "" );
733
- }
734
-
735
632
private interface DataTypeAssigner {
736
633
void setReturnType (String returnType );
737
634
0 commit comments