diff --git a/conf/as3/templates/ModelObject.st b/conf/as3/templates/ModelObject.st index e8e00f07c22a..e2e436b080e0 100644 --- a/conf/as3/templates/ModelObject.st +++ b/conf/as3/templates/ModelObject.st @@ -22,7 +22,8 @@ import $import$; $if(!field.fieldDefinition.collectionItemType)$ [XmlElement(name="$field.fieldDefinition.name$")]$endif$ $if(field.fieldDefinition.collectionItemType)$ - [XmlElements(name="$field.fieldDefinition.name$", type="$field.fieldDefinition.collectionItemType$")]$endif$ + [XmlElementWrapper(name="$field.fieldDefinition.name$")] + [XmlElements(name="$field.fieldDefinition.collectionItemName$", type="$field.fieldDefinition.collectionItemType$")]$endif$ public var $field.fieldDefinition.name$: $field.fieldDefinition.returnType$ $field.fieldDefinition.initialization$;$\r$}$ } diff --git a/src/main/java/com/wordnik/swagger/codegen/FieldDefinition.java b/src/main/java/com/wordnik/swagger/codegen/FieldDefinition.java index c357d0b6febd..ce49c3ea1719 100644 --- a/src/main/java/com/wordnik/swagger/codegen/FieldDefinition.java +++ b/src/main/java/com/wordnik/swagger/codegen/FieldDefinition.java @@ -30,7 +30,9 @@ public class FieldDefinition { private List importDefinitions = new ArrayList(); private String collectionItemType; - + + private String collectionItemName; + public String getReturnType() { return returnType; } @@ -70,4 +72,12 @@ public class FieldDefinition { public String getCollectionItemType() { return collectionItemType; } + + public String getCollectionItemName() { + return collectionItemName; + } + + public void setCollectionItemName(String collectionItemName) { + this.collectionItemName = collectionItemName; + } } diff --git a/src/main/java/com/wordnik/swagger/codegen/resource/ModelField.java b/src/main/java/com/wordnik/swagger/codegen/resource/ModelField.java index 3b9107eb5b7f..89a321765251 100644 --- a/src/main/java/com/wordnik/swagger/codegen/resource/ModelField.java +++ b/src/main/java/com/wordnik/swagger/codegen/resource/ModelField.java @@ -184,8 +184,10 @@ public class ModelField { String entryType = type.substring(5, type.length()-1); if (dataTypeMapper.isPrimitiveType(entryType)) { fieldDefinition.setCollectionItemType(entryType); + fieldDefinition.setCollectionItemName(entryType); } else { fieldDefinition.setCollectionItemType(config.getModelPackageName() + "." + nameGenerator.applyClassNamingPolicy(entryType)); + fieldDefinition.setCollectionItemName(nameGenerator.applyMethodNamingPolicy(entryType)); } entryType = dataTypeMapper.getClassType(entryType, true); String returnType = dataTypeMapper.getListReturnTypeSignature(entryType);