From aa92942e2b516b0c14c7bbd5048c398c3ccc9ce0 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Mon, 28 May 2018 19:29:06 +0200 Subject: [PATCH] Fix YangModuleInfoTemplate Optional is not comparable, hence we need to pass an explicit Comparator to the TreeMap. JIRA: MDSAL-344 Change-Id: I79e8000c85ed74d3f14e77da156038f3c781aa59 Signed-off-by: Robert Varga --- .../binding/java/api/generator/YangModuleInfoTemplate.xtend | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/YangModuleInfoTemplate.xtend b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/YangModuleInfoTemplate.xtend index 62e2342d13..5f6f4e22dd 100644 --- a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/YangModuleInfoTemplate.xtend +++ b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/YangModuleInfoTemplate.xtend @@ -16,6 +16,7 @@ import static extension org.opendaylight.yangtools.yang.binding.BindingMapping.g import com.google.common.base.Preconditions import com.google.common.collect.ImmutableSet import java.util.Collections +import java.util.Comparator import java.util.HashSet import java.util.LinkedHashMap import java.util.Map @@ -42,6 +43,8 @@ import org.opendaylight.yangtools.yang.model.api.SchemaContext * QNAME constants. */ class YangModuleInfoTemplate { + static val Comparator> REVISION_COMPARATOR = + [ Optional first, Optional second | Revision.compare(first, second) ] val Module module val SchemaContext ctx @@ -117,7 +120,7 @@ class YangModuleInfoTemplate { «val rev = imp.revision» «IF !rev.present» «val Set modules = ctx.modules» - «val TreeMap, Module> sorted = new TreeMap()» + «val TreeMap, Module> sorted = new TreeMap(REVISION_COMPARATOR)» «FOR module : modules» «IF module.name.equals(name)» «sorted.put(module.revision, module)» -- 2.36.6