@@ -103,17 +103,9 @@ func genComponents(dir, packetName string, api *spec.ApiSpec) error {
|
||||
}
|
||||
|
||||
func (c *componentsContext) createComponent(dir, packetName string, ty spec.Type) error {
|
||||
defineStruct, ok := ty.(spec.DefineStruct)
|
||||
if !ok {
|
||||
return errors.New("unsupported type %s" + ty.Name())
|
||||
}
|
||||
|
||||
for _, item := range c.requestTypes {
|
||||
if item.Name() == defineStruct.Name() {
|
||||
if len(defineStruct.GetFormMembers())+len(defineStruct.GetBodyMembers()) == 0 {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
defineStruct, done, err := c.checkStruct(ty)
|
||||
if done {
|
||||
return err
|
||||
}
|
||||
|
||||
modelFile := util.Title(ty.Name()) + ".java"
|
||||
@@ -181,6 +173,22 @@ func (c *componentsContext) createComponent(dir, packetName string, ty spec.Type
|
||||
return err
|
||||
}
|
||||
|
||||
func (c *componentsContext) checkStruct(ty spec.Type) (spec.DefineStruct, bool, error) {
|
||||
defineStruct, ok := ty.(spec.DefineStruct)
|
||||
if !ok {
|
||||
return spec.DefineStruct{}, true, errors.New("unsupported type %s" + ty.Name())
|
||||
}
|
||||
|
||||
for _, item := range c.requestTypes {
|
||||
if item.Name() == defineStruct.Name() {
|
||||
if len(defineStruct.GetFormMembers())+len(defineStruct.GetBodyMembers()) == 0 {
|
||||
return spec.DefineStruct{}, true, nil
|
||||
}
|
||||
}
|
||||
}
|
||||
return defineStruct, false, nil
|
||||
}
|
||||
|
||||
func (c *componentsContext) buildProperties(defineStruct spec.DefineStruct) (string, error) {
|
||||
var builder strings.Builder
|
||||
if err := c.writeType(&builder, defineStruct); err != nil {
|
||||
|
||||
@@ -95,17 +95,9 @@ func specTypeToJava(tp spec.Type) (string, error) {
|
||||
return "", err
|
||||
}
|
||||
|
||||
switch valueType {
|
||||
case "int":
|
||||
return "Integer[]", nil
|
||||
case "long":
|
||||
return "Long[]", nil
|
||||
case "float":
|
||||
return "Float[]", nil
|
||||
case "double":
|
||||
return "Double[]", nil
|
||||
case "boolean":
|
||||
return "Boolean[]", nil
|
||||
s := getBaseType(valueType)
|
||||
if len(s) == 0 {
|
||||
return s, errors.New("unsupported primitive type " + tp.Name())
|
||||
}
|
||||
|
||||
return fmt.Sprintf("java.util.ArrayList<%s>", util.Title(valueType)), nil
|
||||
@@ -118,6 +110,23 @@ func specTypeToJava(tp spec.Type) (string, error) {
|
||||
return "", errors.New("unsupported primitive type " + tp.Name())
|
||||
}
|
||||
|
||||
func getBaseType(valueType string) string {
|
||||
switch valueType {
|
||||
case "int":
|
||||
return "Integer[]"
|
||||
case "long":
|
||||
return "Long[]"
|
||||
case "float":
|
||||
return "Float[]"
|
||||
case "double":
|
||||
return "Double[]"
|
||||
case "boolean":
|
||||
return "Boolean[]"
|
||||
default:
|
||||
return ""
|
||||
}
|
||||
}
|
||||
|
||||
func primitiveType(tp string) (string, bool) {
|
||||
switch tp {
|
||||
case "string":
|
||||
|
||||
Reference in New Issue
Block a user