X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=binding%2Fmdsal-binding-java-api-generator%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fbinding%2Fjava%2Fapi%2Fgenerator%2FBuilderTemplate.xtend;h=9540954ec4053bf70e011bea75c3c4a1d0e3222e;hb=refs%2Fchanges%2F97%2F99697%2F6;hp=f9311a1d0cd0f2cd6b74c21b003fe324e11f0504;hpb=3cae231b09cdd529113ef0ae00e74bb109e3e830;p=mdsal.git diff --git a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BuilderTemplate.xtend b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BuilderTemplate.xtend index f9311a1d0c..9540954ec4 100644 --- a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BuilderTemplate.xtend +++ b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BuilderTemplate.xtend @@ -251,10 +251,16 @@ class BuilderTemplate extends AbstractBuilderTemplate { if (Types.strictTypeEquals(getter.returnType, ownGetterType)) { return "this._" + propertyName + " = " + retrieveProperty } - if (Types.isListType(ownGetterType)) { - val itemType = (ownGetterType as ParameterizedType).actualTypeArguments.get(0) - return ''' - this._«propertyName» = «CODEHELPERS.importedName».checkListFieldCast(«itemType.importedName».class, "«propertyName»", «retrieveProperty»)''' + if (ownGetterType instanceof ParameterizedType) { + val itemType = ownGetterType.actualTypeArguments.get(0) + if (Types.isListType(ownGetterType)) { + return ''' + this._«propertyName» = «CODEHELPERS.importedName».checkListFieldCast(«itemType.importedName».class, "«propertyName»", «retrieveProperty»)''' + } + if (Types.isSetType(ownGetterType)) { + return ''' + this._«propertyName» = «CODEHELPERS.importedName».checkSetFieldCast(«itemType.importedName».class, "«propertyName»", «retrieveProperty»)''' + } } return ''' this._«propertyName» = «CODEHELPERS.importedName».checkFieldCast(«ownGetter.returnType.importedName».class, "«propertyName»", «retrieveProperty»)''' @@ -317,7 +323,7 @@ class BuilderTemplate extends AbstractBuilderTemplate { def private generateSetter(GeneratedProperty field) { val returnType = field.returnType if (returnType instanceof ParameterizedType) { - if (Types.isListType(returnType)) { + if (Types.isListType(returnType) || Types.isSetType(returnType)) { val arguments = returnType.actualTypeArguments if (arguments.isEmpty) { return generateListSetter(field, Types.objectType)