From fc87d50f2f83bc06b81f81498b4a387a2c5e2a2e Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Wed, 12 Sep 2018 11:29:40 +0200 Subject: [PATCH] Fix StatementMap$RegularAsCollection's size We are not initializing the size field, hence the class does not operate correctly. Fix that and correct isEmpty() method. Change-Id: I1543e617f14f0a88c6b59afe93364cace151ee5c Signed-off-by: Robert Varga (cherry picked from commit d94cd2529378a5544030c75bdb23b05d98092e05) --- .../yang/parser/stmt/reactor/StatementMap.java | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/StatementMap.java b/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/StatementMap.java index 6d3a5d746e..3f33c988a6 100644 --- a/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/StatementMap.java +++ b/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/StatementMap.java @@ -10,7 +10,6 @@ package org.opendaylight.yangtools.yang.parser.stmt.reactor; import static com.google.common.base.Preconditions.checkArgument; import static java.util.Objects.requireNonNull; -import com.google.common.base.Preconditions; import com.google.common.collect.AbstractIterator; import com.google.common.collect.ImmutableList; import java.util.AbstractCollection; @@ -110,7 +109,7 @@ abstract class StatementMap { @Override Collection> values() { - return new RegularAsCollection<>(elements); + return new RegularAsCollection<>(elements, size); } @Override @@ -134,10 +133,11 @@ abstract class StatementMap { private static final class RegularAsCollection extends AbstractCollection { private final T[] elements; - private int size; + private final int size; - RegularAsCollection(final T[] elements) { - this.elements = Preconditions.checkNotNull(elements); + RegularAsCollection(final T[] elements, final int size) { + this.elements = requireNonNull(elements); + this.size = size; } @Override @@ -149,11 +149,6 @@ abstract class StatementMap { } } - @Override - public boolean isEmpty() { - return size != 0; - } - @Override public Iterator iterator() { return new AbstractIterator() { -- 2.36.6