summaryrefslogtreecommitdiffstats
path: root/vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/NamingContext.java
diff options
context:
space:
mode:
authorMarek Gradzki <mgradzki@cisco.com>2017-12-13 17:15:53 +0100
committerMarek Gradzki <mgradzki@cisco.com>2017-12-13 16:45:52 +0000
commit594d4f62ec8684e61314bce6e042cf3910e77e4e (patch)
tree6ec4818d67341d94a869843e58d27a68383a2e6d /vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/NamingContext.java
parent8931ab48b5ff8684aa56372c883ff660f13ec719 (diff)
(Multi)NamingContext: increment after computing max
Instead of incrementing all elements of stream and applying max, first compute max and then increment. Change-Id: I4e45ffa74d9b8685abd7bafaddc77d1d9850abdb Signed-off-by: Marek Gradzki <mgradzki@cisco.com> (cherry picked from commit 4840c9fc6ab956d6210ac33d8e9c5b1abbc4172e)
Diffstat (limited to 'vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/NamingContext.java')
-rw-r--r--vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/NamingContext.java16
1 files changed, 7 insertions, 9 deletions
diff --git a/vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/NamingContext.java b/vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/NamingContext.java
index 60bd822fb..da7be8109 100644
--- a/vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/NamingContext.java
+++ b/vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/NamingContext.java
@@ -43,6 +43,7 @@ import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
public final class NamingContext implements AutoCloseable {
private static final Collector<Mapping, ?, Mapping> SINGLE_ITEM_COLLECTOR = RWUtils.singleItemCollector();
+ private static final int START_INDEX = 0;
private final String artificialNamePrefix;
private final KeyedInstanceIdentifier<org.opendaylight.yang.gen.v1.urn.honeycomb.params.xml.ns.yang.naming.context.rev160513.contexts.NamingContext, NamingContextKey>
namingContextIid;
@@ -220,17 +221,14 @@ public final class NamingContext implements AutoCloseable {
private int getNextAvailableIndex(final MappingContext mappingContext) {
final Optional<Mappings> read = mappingContext.read(namingContextIid.child(Mappings.class));
- if (!read.isPresent()) {
- return 0;
+ if (!read.isPresent() || read.get().getMapping().isEmpty()) {
+ return START_INDEX;
}
- return read.get().getMapping()
- .stream()
- .mapToInt(Mapping::getIndex)
- // do not use i++(need increase before, not after
- .map(i -> ++i)
- .max()
- .orElse(0);
+ return 1 + read.get().getMapping()
+ .stream()
+ .mapToInt(Mapping::getIndex)
+ .max().getAsInt();
}
@Override