From d92b8833b0a14fa1c56ef55461b3c4514b6ebc04 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Tue, 19 May 2020 15:34:53 +0800 Subject: [PATCH] reset to nil, replace tab wtih space (#6352) --- .../go-experimental/model_enum.mustache | 28 +++++++++---------- .../go-experimental/model_oneof.mustache | 7 ++++- .../go-petstore/model_enum_class.go | 28 +++++++++---------- .../go-petstore/model_outer_enum.go | 28 +++++++++---------- .../go-petstore/model_enum_class.go | 28 +++++++++---------- .../go-petstore/model_fruit.go | 8 ++++-- .../go-petstore/model_fruit_req.go | 8 ++++-- .../go-petstore/model_mammal.go | 8 ++++-- .../go-petstore/model_outer_enum.go | 28 +++++++++---------- .../model_outer_enum_default_value.go | 28 +++++++++---------- .../go-petstore/model_outer_enum_integer.go | 28 +++++++++---------- .../model_outer_enum_integer_default_value.go | 28 +++++++++---------- 12 files changed, 136 insertions(+), 119 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/go-experimental/model_enum.mustache b/modules/openapi-generator/src/main/resources/go-experimental/model_enum.mustache index 142c4b46f7a..11b14661a69 100644 --- a/modules/openapi-generator/src/main/resources/go-experimental/model_enum.mustache +++ b/modules/openapi-generator/src/main/resources/go-experimental/model_enum.mustache @@ -1,5 +1,5 @@ import ( - "fmt" + "fmt" ) // {{{classname}}} {{#description}}{{{.}}}{{/description}}{{^description}}the model '{{{classname}}}'{{/description}} @@ -17,20 +17,20 @@ const ( ) func (v *{{{classname}}}) UnmarshalJSON(src []byte) error { - var value {{^format}}{{dataType}}{{/format}}{{#format}}{{{format}}}{{/format}} - err := json.Unmarshal(src, &value) - if err != nil { - return err - } - enumTypeValue := {{{classname}}}(value) - for _, existing := range []{{classname}}{ {{#allowableValues}}{{#enumVars}}{{{value}}}, {{/enumVars}} {{/allowableValues}} } { - if existing == enumTypeValue { - *v = enumTypeValue - return nil - } - } + var value {{^format}}{{dataType}}{{/format}}{{#format}}{{{format}}}{{/format}} + err := json.Unmarshal(src, &value) + if err != nil { + return err + } + enumTypeValue := {{{classname}}}(value) + for _, existing := range []{{classname}}{ {{#allowableValues}}{{#enumVars}}{{{value}}}, {{/enumVars}} {{/allowableValues}} } { + if existing == enumTypeValue { + *v = enumTypeValue + return nil + } + } - return fmt.Errorf("%+v is not a valid {{classname}}", *v) + return fmt.Errorf("%+v is not a valid {{classname}}", *v) } // Ptr returns reference to {{{name}}} value diff --git a/modules/openapi-generator/src/main/resources/go-experimental/model_oneof.mustache b/modules/openapi-generator/src/main/resources/go-experimental/model_oneof.mustache index 4c37d1fdce1..53ee65aac2d 100644 --- a/modules/openapi-generator/src/main/resources/go-experimental/model_oneof.mustache +++ b/modules/openapi-generator/src/main/resources/go-experimental/model_oneof.mustache @@ -8,7 +8,7 @@ type {{classname}} struct { {{#oneOf}} // {{{.}}}As{{classname}} is a convenience function that returns {{{.}}} wrapped in {{classname}} func {{{.}}}As{{classname}}(v *{{{.}}}) {{classname}} { - return {{classname}}{ {{{.}}}: v} + return {{classname}}{ {{{.}}}: v} } {{/oneOf}} @@ -40,6 +40,11 @@ func (dst *{{classname}}) UnmarshalJSON(data []byte) error { {{/oneOf}} if match > 1 { // more than 1 match + // reset to nil + {{#oneOf}} + dst.{{{.}}} = nil + {{/oneOf}} + return fmt.Errorf("Data matches more than one schema in oneOf({{classname}})") } else if match == 1 { return nil // exactly one match diff --git a/samples/client/petstore/go-experimental/go-petstore/model_enum_class.go b/samples/client/petstore/go-experimental/go-petstore/model_enum_class.go index 1e5776a2b02..4d8ea8b432c 100644 --- a/samples/client/petstore/go-experimental/go-petstore/model_enum_class.go +++ b/samples/client/petstore/go-experimental/go-petstore/model_enum_class.go @@ -14,7 +14,7 @@ import ( ) import ( - "fmt" + "fmt" ) // EnumClass the model 'EnumClass' @@ -28,20 +28,20 @@ const ( ) func (v *EnumClass) UnmarshalJSON(src []byte) error { - var value string - err := json.Unmarshal(src, &value) - if err != nil { - return err - } - enumTypeValue := EnumClass(value) - for _, existing := range []EnumClass{ "_abc", "-efg", "(xyz)", } { - if existing == enumTypeValue { - *v = enumTypeValue - return nil - } - } + var value string + err := json.Unmarshal(src, &value) + if err != nil { + return err + } + enumTypeValue := EnumClass(value) + for _, existing := range []EnumClass{ "_abc", "-efg", "(xyz)", } { + if existing == enumTypeValue { + *v = enumTypeValue + return nil + } + } - return fmt.Errorf("%+v is not a valid EnumClass", *v) + return fmt.Errorf("%+v is not a valid EnumClass", *v) } // Ptr returns reference to EnumClass value diff --git a/samples/client/petstore/go-experimental/go-petstore/model_outer_enum.go b/samples/client/petstore/go-experimental/go-petstore/model_outer_enum.go index 7aa2aeab1f0..c8d6f9b2c23 100644 --- a/samples/client/petstore/go-experimental/go-petstore/model_outer_enum.go +++ b/samples/client/petstore/go-experimental/go-petstore/model_outer_enum.go @@ -14,7 +14,7 @@ import ( ) import ( - "fmt" + "fmt" ) // OuterEnum the model 'OuterEnum' @@ -28,20 +28,20 @@ const ( ) func (v *OuterEnum) UnmarshalJSON(src []byte) error { - var value string - err := json.Unmarshal(src, &value) - if err != nil { - return err - } - enumTypeValue := OuterEnum(value) - for _, existing := range []OuterEnum{ "placed", "approved", "delivered", } { - if existing == enumTypeValue { - *v = enumTypeValue - return nil - } - } + var value string + err := json.Unmarshal(src, &value) + if err != nil { + return err + } + enumTypeValue := OuterEnum(value) + for _, existing := range []OuterEnum{ "placed", "approved", "delivered", } { + if existing == enumTypeValue { + *v = enumTypeValue + return nil + } + } - return fmt.Errorf("%+v is not a valid OuterEnum", *v) + return fmt.Errorf("%+v is not a valid OuterEnum", *v) } // Ptr returns reference to OuterEnum value diff --git a/samples/openapi3/client/petstore/go-experimental/go-petstore/model_enum_class.go b/samples/openapi3/client/petstore/go-experimental/go-petstore/model_enum_class.go index 93f8c49873e..10e6a93c566 100644 --- a/samples/openapi3/client/petstore/go-experimental/go-petstore/model_enum_class.go +++ b/samples/openapi3/client/petstore/go-experimental/go-petstore/model_enum_class.go @@ -14,7 +14,7 @@ import ( ) import ( - "fmt" + "fmt" ) // EnumClass the model 'EnumClass' @@ -28,20 +28,20 @@ const ( ) func (v *EnumClass) UnmarshalJSON(src []byte) error { - var value string - err := json.Unmarshal(src, &value) - if err != nil { - return err - } - enumTypeValue := EnumClass(value) - for _, existing := range []EnumClass{ "_abc", "-efg", "(xyz)", } { - if existing == enumTypeValue { - *v = enumTypeValue - return nil - } - } + var value string + err := json.Unmarshal(src, &value) + if err != nil { + return err + } + enumTypeValue := EnumClass(value) + for _, existing := range []EnumClass{ "_abc", "-efg", "(xyz)", } { + if existing == enumTypeValue { + *v = enumTypeValue + return nil + } + } - return fmt.Errorf("%+v is not a valid EnumClass", *v) + return fmt.Errorf("%+v is not a valid EnumClass", *v) } // Ptr returns reference to EnumClass value diff --git a/samples/openapi3/client/petstore/go-experimental/go-petstore/model_fruit.go b/samples/openapi3/client/petstore/go-experimental/go-petstore/model_fruit.go index 17d15b09e5a..5863b9c588b 100644 --- a/samples/openapi3/client/petstore/go-experimental/go-petstore/model_fruit.go +++ b/samples/openapi3/client/petstore/go-experimental/go-petstore/model_fruit.go @@ -22,12 +22,12 @@ type Fruit struct { // AppleAsFruit is a convenience function that returns Apple wrapped in Fruit func AppleAsFruit(v *Apple) Fruit { - return Fruit{ Apple: v} + return Fruit{ Apple: v} } // BananaAsFruit is a convenience function that returns Banana wrapped in Fruit func BananaAsFruit(v *Banana) Fruit { - return Fruit{ Banana: v} + return Fruit{ Banana: v} } @@ -62,6 +62,10 @@ func (dst *Fruit) UnmarshalJSON(data []byte) error { } if match > 1 { // more than 1 match + // reset to nil + dst.Apple = nil + dst.Banana = nil + return fmt.Errorf("Data matches more than one schema in oneOf(Fruit)") } else if match == 1 { return nil // exactly one match diff --git a/samples/openapi3/client/petstore/go-experimental/go-petstore/model_fruit_req.go b/samples/openapi3/client/petstore/go-experimental/go-petstore/model_fruit_req.go index cbbba809b1b..c1ee08e0881 100644 --- a/samples/openapi3/client/petstore/go-experimental/go-petstore/model_fruit_req.go +++ b/samples/openapi3/client/petstore/go-experimental/go-petstore/model_fruit_req.go @@ -22,12 +22,12 @@ type FruitReq struct { // AppleReqAsFruitReq is a convenience function that returns AppleReq wrapped in FruitReq func AppleReqAsFruitReq(v *AppleReq) FruitReq { - return FruitReq{ AppleReq: v} + return FruitReq{ AppleReq: v} } // BananaReqAsFruitReq is a convenience function that returns BananaReq wrapped in FruitReq func BananaReqAsFruitReq(v *BananaReq) FruitReq { - return FruitReq{ BananaReq: v} + return FruitReq{ BananaReq: v} } @@ -62,6 +62,10 @@ func (dst *FruitReq) UnmarshalJSON(data []byte) error { } if match > 1 { // more than 1 match + // reset to nil + dst.AppleReq = nil + dst.BananaReq = nil + return fmt.Errorf("Data matches more than one schema in oneOf(FruitReq)") } else if match == 1 { return nil // exactly one match diff --git a/samples/openapi3/client/petstore/go-experimental/go-petstore/model_mammal.go b/samples/openapi3/client/petstore/go-experimental/go-petstore/model_mammal.go index 5cd7d7dc5d1..b540a411a4f 100644 --- a/samples/openapi3/client/petstore/go-experimental/go-petstore/model_mammal.go +++ b/samples/openapi3/client/petstore/go-experimental/go-petstore/model_mammal.go @@ -22,12 +22,12 @@ type Mammal struct { // WhaleAsMammal is a convenience function that returns Whale wrapped in Mammal func WhaleAsMammal(v *Whale) Mammal { - return Mammal{ Whale: v} + return Mammal{ Whale: v} } // ZebraAsMammal is a convenience function that returns Zebra wrapped in Mammal func ZebraAsMammal(v *Zebra) Mammal { - return Mammal{ Zebra: v} + return Mammal{ Zebra: v} } @@ -62,6 +62,10 @@ func (dst *Mammal) UnmarshalJSON(data []byte) error { } if match > 1 { // more than 1 match + // reset to nil + dst.Whale = nil + dst.Zebra = nil + return fmt.Errorf("Data matches more than one schema in oneOf(Mammal)") } else if match == 1 { return nil // exactly one match diff --git a/samples/openapi3/client/petstore/go-experimental/go-petstore/model_outer_enum.go b/samples/openapi3/client/petstore/go-experimental/go-petstore/model_outer_enum.go index 63e26e0599d..a128f15d2e3 100644 --- a/samples/openapi3/client/petstore/go-experimental/go-petstore/model_outer_enum.go +++ b/samples/openapi3/client/petstore/go-experimental/go-petstore/model_outer_enum.go @@ -14,7 +14,7 @@ import ( ) import ( - "fmt" + "fmt" ) // OuterEnum the model 'OuterEnum' @@ -28,20 +28,20 @@ const ( ) func (v *OuterEnum) UnmarshalJSON(src []byte) error { - var value string - err := json.Unmarshal(src, &value) - if err != nil { - return err - } - enumTypeValue := OuterEnum(value) - for _, existing := range []OuterEnum{ "placed", "approved", "delivered", } { - if existing == enumTypeValue { - *v = enumTypeValue - return nil - } - } + var value string + err := json.Unmarshal(src, &value) + if err != nil { + return err + } + enumTypeValue := OuterEnum(value) + for _, existing := range []OuterEnum{ "placed", "approved", "delivered", } { + if existing == enumTypeValue { + *v = enumTypeValue + return nil + } + } - return fmt.Errorf("%+v is not a valid OuterEnum", *v) + return fmt.Errorf("%+v is not a valid OuterEnum", *v) } // Ptr returns reference to OuterEnum value diff --git a/samples/openapi3/client/petstore/go-experimental/go-petstore/model_outer_enum_default_value.go b/samples/openapi3/client/petstore/go-experimental/go-petstore/model_outer_enum_default_value.go index 3289b1ef83a..929b5b24d06 100644 --- a/samples/openapi3/client/petstore/go-experimental/go-petstore/model_outer_enum_default_value.go +++ b/samples/openapi3/client/petstore/go-experimental/go-petstore/model_outer_enum_default_value.go @@ -14,7 +14,7 @@ import ( ) import ( - "fmt" + "fmt" ) // OuterEnumDefaultValue the model 'OuterEnumDefaultValue' @@ -28,20 +28,20 @@ const ( ) func (v *OuterEnumDefaultValue) UnmarshalJSON(src []byte) error { - var value string - err := json.Unmarshal(src, &value) - if err != nil { - return err - } - enumTypeValue := OuterEnumDefaultValue(value) - for _, existing := range []OuterEnumDefaultValue{ "placed", "approved", "delivered", } { - if existing == enumTypeValue { - *v = enumTypeValue - return nil - } - } + var value string + err := json.Unmarshal(src, &value) + if err != nil { + return err + } + enumTypeValue := OuterEnumDefaultValue(value) + for _, existing := range []OuterEnumDefaultValue{ "placed", "approved", "delivered", } { + if existing == enumTypeValue { + *v = enumTypeValue + return nil + } + } - return fmt.Errorf("%+v is not a valid OuterEnumDefaultValue", *v) + return fmt.Errorf("%+v is not a valid OuterEnumDefaultValue", *v) } // Ptr returns reference to OuterEnumDefaultValue value diff --git a/samples/openapi3/client/petstore/go-experimental/go-petstore/model_outer_enum_integer.go b/samples/openapi3/client/petstore/go-experimental/go-petstore/model_outer_enum_integer.go index 434b30374b3..d88ca7f2e32 100644 --- a/samples/openapi3/client/petstore/go-experimental/go-petstore/model_outer_enum_integer.go +++ b/samples/openapi3/client/petstore/go-experimental/go-petstore/model_outer_enum_integer.go @@ -14,7 +14,7 @@ import ( ) import ( - "fmt" + "fmt" ) // OuterEnumInteger the model 'OuterEnumInteger' @@ -28,20 +28,20 @@ const ( ) func (v *OuterEnumInteger) UnmarshalJSON(src []byte) error { - var value int32 - err := json.Unmarshal(src, &value) - if err != nil { - return err - } - enumTypeValue := OuterEnumInteger(value) - for _, existing := range []OuterEnumInteger{ 0, 1, 2, } { - if existing == enumTypeValue { - *v = enumTypeValue - return nil - } - } + var value int32 + err := json.Unmarshal(src, &value) + if err != nil { + return err + } + enumTypeValue := OuterEnumInteger(value) + for _, existing := range []OuterEnumInteger{ 0, 1, 2, } { + if existing == enumTypeValue { + *v = enumTypeValue + return nil + } + } - return fmt.Errorf("%+v is not a valid OuterEnumInteger", *v) + return fmt.Errorf("%+v is not a valid OuterEnumInteger", *v) } // Ptr returns reference to OuterEnumInteger value diff --git a/samples/openapi3/client/petstore/go-experimental/go-petstore/model_outer_enum_integer_default_value.go b/samples/openapi3/client/petstore/go-experimental/go-petstore/model_outer_enum_integer_default_value.go index a3576f8f5ed..184e2e996fd 100644 --- a/samples/openapi3/client/petstore/go-experimental/go-petstore/model_outer_enum_integer_default_value.go +++ b/samples/openapi3/client/petstore/go-experimental/go-petstore/model_outer_enum_integer_default_value.go @@ -14,7 +14,7 @@ import ( ) import ( - "fmt" + "fmt" ) // OuterEnumIntegerDefaultValue the model 'OuterEnumIntegerDefaultValue' @@ -28,20 +28,20 @@ const ( ) func (v *OuterEnumIntegerDefaultValue) UnmarshalJSON(src []byte) error { - var value int32 - err := json.Unmarshal(src, &value) - if err != nil { - return err - } - enumTypeValue := OuterEnumIntegerDefaultValue(value) - for _, existing := range []OuterEnumIntegerDefaultValue{ 0, 1, 2, } { - if existing == enumTypeValue { - *v = enumTypeValue - return nil - } - } + var value int32 + err := json.Unmarshal(src, &value) + if err != nil { + return err + } + enumTypeValue := OuterEnumIntegerDefaultValue(value) + for _, existing := range []OuterEnumIntegerDefaultValue{ 0, 1, 2, } { + if existing == enumTypeValue { + *v = enumTypeValue + return nil + } + } - return fmt.Errorf("%+v is not a valid OuterEnumIntegerDefaultValue", *v) + return fmt.Errorf("%+v is not a valid OuterEnumIntegerDefaultValue", *v) } // Ptr returns reference to OuterEnumIntegerDefaultValue value