From eb2a7c97c0007b013bd1784ac17d57be02b63d03 Mon Sep 17 00:00:00 2001 From: Michael DÜrre Date: Thu, 10 Mar 2022 10:39:16 +0100 Subject: migrate sdnr features to phosphorus MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix mapper and switch to dom api Updated to use phosphorus version of parent poms Issue-ID: CCSDK-3566 Signed-off-by: Michael DÜrre Change-Id: I98c5bef9286622e0d66b53db687557d798cd53f5 Signed-off-by: Michael DÜrre --- sdnr/wt/netconfnode-state-service/feature/pom.xml | 2 +- .../wt/netconfnode-state-service/installer/pom.xml | 2 +- sdnr/wt/netconfnode-state-service/model/pom.xml | 2 +- .../netconfnodestateservice/NetconfAccessor.java | 1 - .../NetconfDomAccessor.java | 8 ++--- sdnr/wt/netconfnode-state-service/pom.xml | 2 +- sdnr/wt/netconfnode-state-service/provider/pom.xml | 4 +-- .../impl/NetconfNodeStateServiceImpl.java | 5 ++-- .../impl/access/NetconfAccessorManager.java | 3 ++ .../impl/access/NetconfCommunicatorManager.java | 1 - .../impl/access/dom/DomContext.java | 2 +- .../impl/access/dom/DomParser.java | 4 +-- .../impl/access/dom/NetconfDomAccessorImpl.java | 34 ++++++++++------------ .../org/opendaylight/blueprint/impl-blueprint.xml | 4 +-- .../test/TestNetconfNodeStateService.java | 12 ++++---- .../test/example/ExampleConfig.java | 11 +++---- 16 files changed, 50 insertions(+), 47 deletions(-) (limited to 'sdnr/wt/netconfnode-state-service') diff --git a/sdnr/wt/netconfnode-state-service/feature/pom.xml b/sdnr/wt/netconfnode-state-service/feature/pom.xml index ce620a3cf..4b5716baa 100644 --- a/sdnr/wt/netconfnode-state-service/feature/pom.xml +++ b/sdnr/wt/netconfnode-state-service/feature/pom.xml @@ -28,7 +28,7 @@ org.onap.ccsdk.parent single-feature-parent - 2.3.2 + 2.3.3-SNAPSHOT diff --git a/sdnr/wt/netconfnode-state-service/installer/pom.xml b/sdnr/wt/netconfnode-state-service/installer/pom.xml index 1152f5fdd..98339de7d 100755 --- a/sdnr/wt/netconfnode-state-service/installer/pom.xml +++ b/sdnr/wt/netconfnode-state-service/installer/pom.xml @@ -28,7 +28,7 @@ org.onap.ccsdk.parent odlparent-lite - 2.3.2 + 2.3.3-SNAPSHOT diff --git a/sdnr/wt/netconfnode-state-service/model/pom.xml b/sdnr/wt/netconfnode-state-service/model/pom.xml index 0e9a7f301..3717d0815 100644 --- a/sdnr/wt/netconfnode-state-service/model/pom.xml +++ b/sdnr/wt/netconfnode-state-service/model/pom.xml @@ -28,7 +28,7 @@ org.onap.ccsdk.parent binding-parent - 2.3.2 + 2.3.3-SNAPSHOT diff --git a/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/NetconfAccessor.java b/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/NetconfAccessor.java index 46fbbacc0..ad725e359 100644 --- a/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/NetconfAccessor.java +++ b/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/NetconfAccessor.java @@ -40,7 +40,6 @@ public interface NetconfAccessor { */ DOMDataBroker getControllerDOMDataBroker(); - /** * @return the nodeId */ diff --git a/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/NetconfDomAccessor.java b/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/NetconfDomAccessor.java index 1013e37c7..b7eba42b8 100644 --- a/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/NetconfDomAccessor.java +++ b/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/NetconfDomAccessor.java @@ -73,7 +73,7 @@ public interface NetconfDomAccessor extends NetconfAccessor { * @param path * @return NormalizedNode with data */ - Optional> readDataNode(LogicalDatastoreType dataStoreType, YangInstanceIdentifier path); + Optional readDataNode(LogicalDatastoreType dataStoreType, YangInstanceIdentifier path); /** * Read data from Controller node - controller-config @@ -82,9 +82,10 @@ public interface NetconfDomAccessor extends NetconfAccessor { * @param path * @return NormalizedNode with data */ - Optional> readControllerDataNode(LogicalDatastoreType dataStoreType, + Optional readControllerDataNode(LogicalDatastoreType dataStoreType, YangInstanceIdentifier path); + /** * Register netconf notification listener for related mountpoint * @@ -162,6 +163,5 @@ public interface NetconfDomAccessor extends NetconfAccessor { * * @return serialization object. */ - BindingNormalizedNodeSerializer getBindingNormalizedNodeSerializer(); - + //BindingNormalizedNodeSerializer getBindingNormalizedNodeSerializer(); } diff --git a/sdnr/wt/netconfnode-state-service/pom.xml b/sdnr/wt/netconfnode-state-service/pom.xml index 0ab2d23a9..f2c9a257c 100755 --- a/sdnr/wt/netconfnode-state-service/pom.xml +++ b/sdnr/wt/netconfnode-state-service/pom.xml @@ -28,7 +28,7 @@ org.onap.ccsdk.parent odlparent-lite - 2.3.2 + 2.3.3-SNAPSHOT diff --git a/sdnr/wt/netconfnode-state-service/provider/pom.xml b/sdnr/wt/netconfnode-state-service/provider/pom.xml index 7b4699af4..86177ca64 100644 --- a/sdnr/wt/netconfnode-state-service/provider/pom.xml +++ b/sdnr/wt/netconfnode-state-service/provider/pom.xml @@ -28,7 +28,7 @@ org.onap.ccsdk.parent binding-parent - 2.3.2 + 2.3.3-SNAPSHOT @@ -70,7 +70,7 @@ org.opendaylight.mdsal - mdsal-binding-generator-impl + mdsal-binding-generator provided diff --git a/sdnr/wt/netconfnode-state-service/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/impl/NetconfNodeStateServiceImpl.java b/sdnr/wt/netconfnode-state-service/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/impl/NetconfNodeStateServiceImpl.java index f759971fb..8605274db 100644 --- a/sdnr/wt/netconfnode-state-service/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/impl/NetconfNodeStateServiceImpl.java +++ b/sdnr/wt/netconfnode-state-service/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/impl/NetconfNodeStateServiceImpl.java @@ -76,8 +76,8 @@ import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology. import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node; import org.opendaylight.yangtools.concepts.ListenerRegistration; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; -import org.opendaylight.yangtools.yang.model.parser.api.YangParserException; -import org.opendaylight.yangtools.yang.model.parser.api.YangParserFactory; +import org.opendaylight.yangtools.yang.parser.api.YangParserException; +import org.opendaylight.yangtools.yang.parser.api.YangParserFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -685,4 +685,5 @@ public class NetconfNodeStateServiceImpl this.handleDataTreeAsync = this.config.handleAsync(); } + } diff --git a/sdnr/wt/netconfnode-state-service/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/impl/access/NetconfAccessorManager.java b/sdnr/wt/netconfnode-state-service/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/impl/access/NetconfAccessorManager.java index 3b68004bc..6c3704421 100644 --- a/sdnr/wt/netconfnode-state-service/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/impl/access/NetconfAccessorManager.java +++ b/sdnr/wt/netconfnode-state-service/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/impl/access/NetconfAccessorManager.java @@ -70,4 +70,7 @@ public class NetconfAccessorManager { public void removeAccessor(NodeId nNodeId) { accessorList.remove(nNodeId); } + + + } diff --git a/sdnr/wt/netconfnode-state-service/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/impl/access/NetconfCommunicatorManager.java b/sdnr/wt/netconfnode-state-service/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/impl/access/NetconfCommunicatorManager.java index f1cf906be..30afb4a20 100644 --- a/sdnr/wt/netconfnode-state-service/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/impl/access/NetconfCommunicatorManager.java +++ b/sdnr/wt/netconfnode-state-service/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/impl/access/NetconfCommunicatorManager.java @@ -65,7 +65,6 @@ public class NetconfCommunicatorManager { private final DOMMountPointService domMountPointService; private final DomContext domContext; - public NetconfCommunicatorManager(MountPointService mountPointService, DOMMountPointService domMountPointService, DomContext domContext) { super(); diff --git a/sdnr/wt/netconfnode-state-service/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/impl/access/dom/DomContext.java b/sdnr/wt/netconfnode-state-service/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/impl/access/dom/DomContext.java index 35eaa9fc8..602b2987f 100644 --- a/sdnr/wt/netconfnode-state-service/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/impl/access/dom/DomContext.java +++ b/sdnr/wt/netconfnode-state-service/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/impl/access/dom/DomContext.java @@ -23,7 +23,7 @@ package org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.impl.access.dom; import java.util.Objects; import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer; -import org.opendaylight.yangtools.yang.model.parser.api.YangParserFactory; +import org.opendaylight.yangtools.yang.parser.api.YangParserFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/sdnr/wt/netconfnode-state-service/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/impl/access/dom/DomParser.java b/sdnr/wt/netconfnode-state-service/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/impl/access/dom/DomParser.java index 9bfa826bf..f19103646 100644 --- a/sdnr/wt/netconfnode-state-service/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/impl/access/dom/DomParser.java +++ b/sdnr/wt/netconfnode-state-service/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/impl/access/dom/DomParser.java @@ -43,11 +43,11 @@ public class DomParser { * @param schemaContext schema context * @return created {@link NormalizedNode} */ - public static NormalizedNode parseJsonFile(final String path, final EffectiveModelContext schemaContext) { + public static NormalizedNode parseJsonFile(final String path, final EffectiveModelContext schemaContext) { final JSONCodecFactory codecFactory = JSONCodecFactorySupplier.RFC7951.createSimple(schemaContext); final NormalizedNodeResult resultHolder = new NormalizedNodeResult(); try (NormalizedNodeStreamWriter writer = ImmutableNormalizedNodeStreamWriter.from(resultHolder); - JsonParserStream jsonParser = JsonParserStream.create(writer, codecFactory, schemaContext); + JsonParserStream jsonParser = JsonParserStream.create(writer, codecFactory); InputStream inputStream = NetconfDomAccessorImpl.class.getResourceAsStream(path); JsonReader reader = new JsonReader(new InputStreamReader(inputStream))) { jsonParser.parse(reader); diff --git a/sdnr/wt/netconfnode-state-service/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/impl/access/dom/NetconfDomAccessorImpl.java b/sdnr/wt/netconfnode-state-service/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/impl/access/dom/NetconfDomAccessorImpl.java index 54ca395f4..1b263115f 100644 --- a/sdnr/wt/netconfnode-state-service/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/impl/access/dom/NetconfDomAccessorImpl.java +++ b/sdnr/wt/netconfnode-state-service/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/impl/access/dom/NetconfDomAccessorImpl.java @@ -123,7 +123,7 @@ public class NetconfDomAccessorImpl extends NetconfAccessorImpl implements Netco } @Override - public Optional> readDataNode(LogicalDatastoreType dataStoreType, + public Optional readDataNode(LogicalDatastoreType dataStoreType, YangInstanceIdentifier path) { LOG.debug("Read to node datastore:{} path:{}", dataStoreType, path); @@ -131,9 +131,9 @@ public class NetconfDomAccessorImpl extends NetconfAccessorImpl implements Netco // correctly by underlying opendaylight NETCONF service DOMDataTreeReadTransaction readOnlyTransaction = dataBroker.newReadOnlyTransaction(); try { - FluentFuture>> foData = readOnlyTransaction.read(dataStoreType, path); + FluentFuture> foData = readOnlyTransaction.read(dataStoreType, path); - Optional> data = foData.get(120, TimeUnit.SECONDS); + Optional data = foData.get(120, TimeUnit.SECONDS); LOG.trace("read is done - {} ", foData.isDone()); return data; } catch (InterruptedException e) { @@ -147,15 +147,15 @@ public class NetconfDomAccessorImpl extends NetconfAccessorImpl implements Netco } @Override - public Optional> readControllerDataNode(LogicalDatastoreType dataStoreType, + public Optional readControllerDataNode(LogicalDatastoreType dataStoreType, YangInstanceIdentifier path) { LOG.debug("Read to controller node datastore:{} path:{}", dataStoreType, path); DOMDataTreeReadTransaction readOnlyTransaction = this.getControllerDOMDataBroker().newReadOnlyTransaction(); try { - FluentFuture>> foData = readOnlyTransaction.read(dataStoreType, path); + FluentFuture> foData = readOnlyTransaction.read(dataStoreType, path); - Optional> data = foData.get(120, TimeUnit.SECONDS); + Optional data = foData.get(120, TimeUnit.SECONDS); LOG.trace("read is done - {} ", foData.isDone()); return data; } catch (InterruptedException e) { @@ -170,12 +170,12 @@ public class NetconfDomAccessorImpl extends NetconfAccessorImpl implements Netco @SuppressWarnings("unchecked") private static Optional convertNormalizedNode(BindingNormalizedNodeSerializer serializer, - Optional> oData, YangInstanceIdentifier path, Class clazz) + Optional oData, YangInstanceIdentifier path, Class clazz) throws CanNotConvertException { if (oData.isPresent()) { - NormalizedNode data = oData.get(); + NormalizedNode data = oData.get(); LOG.debug("convertNormalizedNode data identifier: {} data nodetype: {}", data.getIdentifier(), - data.getNodeType()); + data.getIdentifier().getNodeType()); @Nullable Entry, DataObject> entry = serializer.fromNormalizedNode(path, data); if (entry != null) { @@ -185,11 +185,11 @@ public class NetconfDomAccessorImpl extends NetconfAccessorImpl implements Netco return Optional.of((T) value); } else { throw new CanNotConvertException("Unexpected class. Expected:" + clazz.getName() + " provided:" - + value.getClass().getName() + " Nodetype:" + data.getNodeType()); + + value.getClass().getName() + " Nodetype:" + data.getIdentifier().getNodeType()); } } else { throw new CanNotConvertException( - "No object created for path:" + path + " Nodetype:" + data.getNodeType()); + "No object created for path:" + path + " Nodetype:" + data.getIdentifier().getNodeType()); } } else { throw new CanNotConvertException("No data received for path:" + path); @@ -241,7 +241,7 @@ public class NetconfDomAccessorImpl extends NetconfAccessorImpl implements Netco if (stream.getName() != null) { inputBuilder.setStream(stream.getName()); } - replayIsSupported = Boolean.TRUE.equals(stream.isReplaySupport()); + replayIsSupported = Boolean.TRUE.equals(stream.requireReplaySupport()); } filter.ifPresent(inputBuilder::setFilter); @@ -297,14 +297,12 @@ public class NetconfDomAccessorImpl extends NetconfAccessorImpl implements Netco return oStreams.map(Streams::nonnullStream).orElse(Collections.emptyMap()); } - @Override - public BindingNormalizedNodeSerializer getBindingNormalizedNodeSerializer() { - return serializer; - } - + /* + * @Override public BindingNormalizedNodeSerializer + * getBindingNormalizedNodeSerializer() { return serializer; } + */ private DateAndTime getDateAndTime(Instant dateTime) { final String formattedDate = DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(dateTime); return new DateAndTime(formattedDate); } - } diff --git a/sdnr/wt/netconfnode-state-service/provider/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml b/sdnr/wt/netconfnode-state-service/provider/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml index ec4c64e67..6a4fd8fb2 100644 --- a/sdnr/wt/netconfnode-state-service/provider/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml +++ b/sdnr/wt/netconfnode-state-service/provider/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml @@ -28,7 +28,7 @@ - + @@ -49,7 +49,7 @@ interface="org.onap.ccsdk.features.sdnr.wt.dataprovider.model.IEntityDataProvider"/> + interface="org.opendaylight.yangtools.yang.parser.api.YangParserFactory"/> diff --git a/sdnr/wt/netconfnode-state-service/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/test/TestNetconfNodeStateService.java b/sdnr/wt/netconfnode-state-service/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/test/TestNetconfNodeStateService.java index b6d731418..70480d5bb 100644 --- a/sdnr/wt/netconfnode-state-service/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/test/TestNetconfNodeStateService.java +++ b/sdnr/wt/netconfnode-state-service/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/test/TestNetconfNodeStateService.java @@ -81,9 +81,9 @@ import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology. import org.opendaylight.yangtools.concepts.ListenerRegistration; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.common.RpcResult; -import org.opendaylight.yangtools.yang.model.parser.api.YangParserException; -import org.opendaylight.yangtools.yang.model.parser.api.YangParserFactory; -import org.opendaylight.yangtools.yang.parser.impl.YangParserFactoryImpl; +import org.opendaylight.yangtools.yang.parser.api.YangParserException; +import org.opendaylight.yangtools.yang.parser.api.YangParserFactory; +import org.opendaylight.yangtools.yang.parser.impl.DefaultYangParserFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -143,7 +143,7 @@ public class TestNetconfNodeStateService extends Mockito { NotificationPublishService notificationPublishService = mock(NotificationPublishService.class); RpcProviderService rpcProviderRegistry = mock(RpcProviderService.class); IEntityDataProvider entityProviderMock = mock(IEntityDataProvider.class); - YangParserFactory yangParserFactory = new YangParserFactoryImpl(); + YangParserFactory yangParserFactory = new DefaultYangParserFactory(); BindingNormalizedNodeSerializer bindingNormalizedNodeSerializer = new BindingCodecContext(BindingRuntimeHelpers.createRuntimeContext()); // start using blueprint interface @@ -165,7 +165,9 @@ public class TestNetconfNodeStateService extends Mockito { public static void after() throws InterruptedException, IOException { System.out.println("Start shutdown"); // close using blueprint interface - netconfStateService.close(); + if(netconfStateService!=null) { + netconfStateService.close(); + } delete(KARAF_ETC); } diff --git a/sdnr/wt/netconfnode-state-service/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/test/example/ExampleConfig.java b/sdnr/wt/netconfnode-state-service/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/test/example/ExampleConfig.java index f17453803..9630897fb 100644 --- a/sdnr/wt/netconfnode-state-service/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/test/example/ExampleConfig.java +++ b/sdnr/wt/netconfnode-state-service/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/test/example/ExampleConfig.java @@ -30,11 +30,12 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.config.rev201208 import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.common.Revision; +import org.opendaylight.yangtools.yang.common.XMLNamespace; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; -import org.opendaylight.yangtools.yang.model.parser.api.YangParser; -import org.opendaylight.yangtools.yang.model.parser.api.YangParserException; +import org.opendaylight.yangtools.yang.parser.api.YangParser; +import org.opendaylight.yangtools.yang.parser.api.YangParserException; import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -45,7 +46,7 @@ public class ExampleConfig { // specification of YANG module private static final QNameModule CONFIG_MODULE = QNameModule.create( - URI.create("urn:ietf:params:xml:ns:yang:config"), Revision.of("2020-12-08")); + XMLNamespace.of("urn:ietf:params:xml:ns:yang:config"), Revision.of("2020-12-08")); // path to 'configuration' container (it is a root container) private static final YangInstanceIdentifier CONFIGURATION_PATH = YangInstanceIdentifier.builder() .node(QName.create(CONFIG_MODULE, "configuration")) @@ -61,7 +62,7 @@ public class ExampleConfig { final EffectiveModelContext schemaContext = parser.buildEffectiveModel(); // (2) parsing of configuration into binding-independent format - final NormalizedNode data = DomParser.parseJsonFile("/example.json", schemaContext); + final NormalizedNode data = DomParser.parseJsonFile("/example.json", schemaContext); // (3) conversion into binding-aware format (md-sal codec needs to know about path on which data is placed) final Configuration config = (Configuration) domContext.getBindingNormalizedNodeSerializer().fromNormalizedNode(CONFIGURATION_PATH, data) @@ -69,7 +70,7 @@ public class ExampleConfig { // (4) printing some useful information LOG.info("Value of 'config1': {}", config.getConfig1()); - LOG.info("Value of 'config2': {}", config.isConfig2()); + LOG.info("Value of 'config2': {}", config.requireConfig2()); Objects.requireNonNull(config.getEntry()).forEach((entryKey, entry) -> LOG.info("Value of '{}' setting: {}", entry.getSetting(), entry.getValue())); } -- cgit 1.2.3-korg