From 199eab9ecd87dcb244591bb49acf413a010f38d9 Mon Sep 17 00:00:00 2001 From: Jakub Morvay Date: Mon, 7 Dec 2015 13:38:55 +0100 Subject: [PATCH] Make test tool expose submodule sources Change-Id: If614ee052175f6f1ce60609aa0696788c216c247 Signed-off-by: Jakub Morvay --- .../test/tool/NetconfDeviceSimulator.java | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/opendaylight/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/NetconfDeviceSimulator.java b/opendaylight/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/NetconfDeviceSimulator.java index 212385f294..b480f442d9 100644 --- a/opendaylight/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/NetconfDeviceSimulator.java +++ b/opendaylight/netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/NetconfDeviceSimulator.java @@ -298,21 +298,27 @@ public class NetconfDeviceSimulator implements Closeable { final Set capabilities = Sets.newHashSet(); for (final Module module : schemaContext.getModules()) { - final SourceIdentifier moduleSourceIdentifier = new SourceIdentifier(module.getName(), - SimpleDateFormatUtil.getRevisionFormat().format(module.getRevision())); - try { - String moduleContent = new String(consumer.getSchemaSource(moduleSourceIdentifier, YangTextSchemaSource.class) - .checkedGet().read()); - capabilities.add(new YangModuleCapability(module, moduleContent)); - //IOException would be thrown in creating SchemaContext already - } catch (SchemaSourceException|IOException e) { - throw new RuntimeException("Cannot retrieve schema source for module " + moduleSourceIdentifier.toString() + " from schema repository", e); + for (final Module subModule : module.getSubmodules()) { + addModuleCapability(consumer, capabilities, subModule); } + addModuleCapability(consumer, capabilities, module); } - return capabilities; } + private void addModuleCapability(SharedSchemaRepository consumer, Set capabilities, Module module) { + final SourceIdentifier moduleSourceIdentifier = new SourceIdentifier(module.getName(), + SimpleDateFormatUtil.getRevisionFormat().format(module.getRevision())); + try { + String moduleContent = new String(consumer.getSchemaSource(moduleSourceIdentifier, YangTextSchemaSource.class) + .checkedGet().read()); + capabilities.add(new YangModuleCapability(module, moduleContent)); + //IOException would be thrown in creating SchemaContext already + } catch (SchemaSourceException |IOException e) { + throw new RuntimeException("Cannot retrieve schema source for module " + moduleSourceIdentifier.toString() + " from schema repository", e); + } + } + private void addDefaultSchemas(final SharedSchemaRepository consumer) { SourceIdentifier sId = new SourceIdentifier("ietf-netconf-monitoring", "2010-10-04"); registerSource(consumer, "/META-INF/yang/ietf-netconf-monitoring.yang", sId); -- 2.36.6