From 839046e2c74e05f363ba5aa6809c7eb03b60869e Mon Sep 17 00:00:00 2001 From: Vladyslav Marchenko Date: Tue, 25 Aug 2020 10:32:29 +0300 Subject: [PATCH] If there is only one revision is present, return it. JIRA: NETCONF-720 Signed-off-by: Vladyslav Marchenko Change-Id: I9103ef41af9bda1681baddf853fb3f739c20b620 --- .../test/tool/DummyMonitoringService.java | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/DummyMonitoringService.java b/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/DummyMonitoringService.java index eef17df333..5aa310abf0 100644 --- a/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/DummyMonitoringService.java +++ b/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/DummyMonitoringService.java @@ -7,6 +7,8 @@ */ package org.opendaylight.netconf.test.tool; +import static com.google.common.base.Preconditions.checkState; + import com.google.common.base.Function; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.Collections2; @@ -14,6 +16,7 @@ import com.google.common.collect.Maps; import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; +import java.util.List; import java.util.Optional; import java.util.Set; import org.opendaylight.netconf.api.capability.Capability; @@ -107,12 +110,20 @@ public class DummyMonitoringService implements NetconfMonitoringService { @Override public String getSchemaForCapability(final String moduleName, final Optional revision) { - - for (Capability capability : capabilityMultiMap.get(moduleName)) { - if (capability.getRevision().get().equals(revision.get())) { - return capability.getCapabilitySchema().get(); + final List capabilityList = capabilityMultiMap.get(moduleName); + if (revision.isPresent()) { + for (Capability capability : capabilityList) { + if (capability.getRevision().orElseThrow().equals(revision.get())) { + return capability.getCapabilitySchema().orElseThrow(); + } } + } else { + checkState(capabilityList.size() == 1, + "Expected 1 capability for module %s, available revisions : %s", moduleName, capabilityList); + //Only one revision is present, so return it + return capabilityList.iterator().next().getCapabilitySchema().orElseThrow(); } + throw new IllegalArgumentException( "Module with name: " + moduleName + " and revision: " + revision + " does not exist"); } -- 2.36.6