Fix missing sorting of augmentations in AssertDataObjects 11/54811/2
authorMichael Vorburger <vorburger@redhat.com>
Tue, 11 Apr 2017 19:38:50 +0000 (21:38 +0200)
committerRobert Varga <nite@hq.sk>
Fri, 14 Apr 2017 14:48:07 +0000 (14:48 +0000)
Change-Id: I7cbe3fef3f4d25c1a9c625fd8796b8b91e820f98
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
Signed-off-by: Faseela K <faseela.k@ericsson.com>
binding/mdsal-binding-test-utils/src/main/java/org/opendaylight/mdsal/binding/testutils/XtendYangBeanGenerator.java

index fb12ea3e7da50d7ebaa59fcd3180dd13572429f0..b67c0176815611b6194624806de45858ea922539 100644 (file)
@@ -115,13 +115,16 @@ class XtendYangBeanGenerator extends XtendBeanGenerator {
         Optional<ClassToInstanceMap<Augmentation<?>>> optional = getAugmentations(bean);
         if (optional.isPresent()) {
             StringBuilder sb = new StringBuilder();
-            optional.get().forEach((klass, augmentation) -> {
-                sb.append("addAugmentation(");
-                sb.append(stringify(klass));
-                sb.append(", ");
-                sb.append(getNewBeanExpression(augmentation));
-                sb.append(")");
-            });
+            optional.get().entrySet().stream()
+                // We sort the augmentations by Class type, because the Map has unpredictable order:
+                .sorted((e1, e2) -> e1.getKey().getName().compareTo(e2.getKey().getName()))
+                .forEachOrdered(e -> {
+                    sb.append("addAugmentation(");
+                    sb.append(stringify(e.getKey()));
+                    sb.append(", ");
+                    sb.append(getNewBeanExpression(e.getValue()));
+                    sb.append(")");
+                });
             return sb;
         } else {
             return "";