Binding generator v2 - fix IdentifiableItem and Item
[mdsal.git] / binding2 / mdsal-binding2-java-api-generator / src / main / twirl / org / opendaylight / mdsal / binding / javav2 / java / api / generator / builderTemplate.scala.txt
index b1540681ed83f5332b7b09167b84d6eb4c5500d2..9a79a4e135a16bbcb8593a2a10e53c9f9f6cb183 100644 (file)
@@ -30,7 +30,8 @@
 
 @(genType: GeneratedType, properties: Set[GeneratedProperty], importedNames: Map[String, String],
 ImportedNamesWithProperties: Map[GeneratedProperty, String], augmentField: GeneratedProperty, copyConstructorHelper: String,
-getterMethods: List[String], parentTypeForBuilderName: String, childTreeNode: Boolean, instantiable: Boolean)
+getterMethods: List[String], parentTypeForBuilderName: String, childTreeNode: Boolean, childTreeNodeIdent: Boolean,
+keyTypeName: String, instantiable: Boolean)
 @if(genType != null) {
 @{wrapToDocumentation(formatDataForJavaDocBuilder(importedNames.get("genType")))}
 public class @{genType.getName}Builder implements @{getSimpleNameForBuilder} <@{importedNames.get("genType")}> {
@@ -406,12 +407,18 @@ public class @{genType.getName}Builder implements @{getSimpleNameForBuilder} <@{
 }
 
 @generateImplementedMethods() = {
-    @if(childTreeNode) {
+    @if(childTreeNodeIdent) {
         @@Override
-        public @{importedNames.get("item")}<@{parentTypeForBuilderName}> treeIdentifier() {
-            //TODO implement
-            return null;
+        public @{importedNames.get("identifiableItem")}<@{genType.getName()}, @{keyTypeName}> treeIdentifier() {
+            return new @{importedNames.get("identifiableItem")}(@{importedNames.get("genType")}.class,_identifier);
         }
+    } else {
+      @if(childTreeNode) {
+          @@Override
+          public @{importedNames.get("item")}<@{genType.getName()}> treeIdentifier() {
+               return new @{importedNames.get("item")}(@{importedNames.get("genType")}.class);
+          }
+      }
     }
 
     @if(augmentField != null) {