Binding generator v2 - Decimal* - getDefaultInstance() fix 75/59075/1
authorJie Han <han.jie@zte.com.cn>
Fri, 16 Jun 2017 06:15:21 +0000 (14:15 +0800)
committerMartin Ciglan <martin.ciglan@pantheon.tech>
Fri, 16 Jun 2017 11:42:21 +0000 (11:42 +0000)
- add testing yang
Change-Id: I8b5761ee0f65dcbb9df17d858b97e2eafb10594b
Signed-off-by: Jie Han <han.jie@zte.com.cn>
(cherry picked from commit f31c3ee816be089f79f8fa0a659bf3ead62f2ef8)

binding2/mdsal-binding2-java-api-generator/src/main/twirl/org/opendaylight/mdsal/binding/javav2/java/api/generator/classTemplate.scala.txt
binding2/mdsal-binding2-java-api-generator/src/test/resources/test-decimal64.yang [new file with mode: 0644]

index 9f47a99916ad91e9b54ed683bc33a38f592a0a5c..c9add2b7258031a3b1b49ce2e708de6fe3595966 100644 (file)
@@ -182,16 +182,7 @@ class @{genType.getName}
                         return new @{genTo.getName}(@{importedNames.get("long")}.valueOf(defaultValue));
                     }
                     case _ => {
-                        @if(allProperties.size > 1) {
-                            @{importedNames.get("list")}<@{importedNames.get("string")}> properties = @{importedNames.get("lists")}.newArrayList(@{propsAsArgs(allProperties)});
-                            if (!properties.contains(defaultValue)) {
-                                throw new @{importedNames.get("illegalArgumentException")}("invalid default parameter");
-                            }
-                            int i = 0;
-                                    return new @{genTo.getName}(propsAsList(allProperties, importedNames.get("boolean")));
-                                } else {
-                                    return new @{genTo.getName}(@{importedNames.get("defProp")}.valueOf(defaultValue));
-                                }
+                        return new @{genTo.getName}(new @{allProperties.get(0).getReturnType.getName}(defaultValue));
                     }
                     }
                 }
diff --git a/binding2/mdsal-binding2-java-api-generator/src/test/resources/test-decimal64.yang b/binding2/mdsal-binding2-java-api-generator/src/test/resources/test-decimal64.yang
new file mode 100644 (file)
index 0000000..acbc5ed
--- /dev/null
@@ -0,0 +1,23 @@
+module test-decimal64{
+    namespace "urn:test:decimal64";
+    prefix decimal64;
+    revision 2017-01-01;
+
+    typedef my-decimal64 {
+        type decimal64 {
+            fraction-digits 4;
+        }
+    }
+
+    leaf ext-decimal64 {
+        type my-decimal64;
+        default "3.14";
+    }
+
+    leaf leaf-decimal64 {
+        type decimal64 {
+            fraction-digits 4;
+        }
+        default "3.14";
+    }
+}
\ No newline at end of file