Intern empty leaves 87/78887/1
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 20 Dec 2018 09:43:09 +0000 (10:43 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Thu, 20 Dec 2018 09:43:09 +0000 (10:43 +0100)
This patch teaches LeafInterner to intern leaves holding Empty,
as they have only one possible value.

Change-Id: I5afa161ec49b02c33a3e7be28bcda135b6d796cb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/LeafInterner.java

index bb5eea153d1ed3da94337c3fe9430d353f917bd1..62429e79e0ef04c483551a07bbe6e26b8978cf27 100644 (file)
@@ -17,6 +17,7 @@ import org.opendaylight.yangtools.yang.data.api.schema.LeafNode;
 import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.BooleanTypeDefinition;
+import org.opendaylight.yangtools.yang.model.api.type.EmptyTypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.IdentityrefTypeDefinition;
 import org.slf4j.Logger;
@@ -67,8 +68,8 @@ public final class LeafInterner {
     @Nonnull public static <T extends LeafNode<?>> Interner<T> forSchema(@Nullable final LeafSchemaNode schema) {
         if (schema != null) {
             final TypeDefinition<?> type = schema.getType();
-            if (type instanceof BooleanTypeDefinition || type instanceof EnumTypeDefinition
-                    || type instanceof IdentityrefTypeDefinition) {
+            if (type instanceof BooleanTypeDefinition || type instanceof EmptyTypeDefinition
+                    || type instanceof EnumTypeDefinition || type instanceof IdentityrefTypeDefinition) {
                 return LeafInterner::intern;
             }
         }