-
- protected abstract RemoteDeviceHandler<NetconfSessionPreferences> createSalFacade(RemoteDeviceId id);
-
- private static InetSocketAddress getSocketAddress(final Host host, final int port) {
- if (host.getDomainName() != null) {
- return new InetSocketAddress(host.getDomainName().getValue(), port);
- }
-
- final IpAddress ipAddress = host.getIpAddress();
- final String ip = ipAddress.getIpv4Address() != null ? ipAddress.getIpv4Address().getValue()
- : ipAddress.getIpv6Address().getValue();
- return new InetSocketAddress(ip, port);
- }
-
- private static Optional<UserPreferences> getUserCapabilities(final NetconfNode node) {
- // if none of yang-module-capabilities or non-module-capabilities is specified
- // just return absent
- if (node.getYangModuleCapabilities() == null && node.getNonModuleCapabilities() == null) {
- return Optional.empty();
- }
-
- final List<String> capabilities = new ArrayList<>();
-
- boolean overrideYangModuleCaps = false;
- if (node.getYangModuleCapabilities() != null) {
- capabilities.addAll(node.getYangModuleCapabilities().getCapability());
- overrideYangModuleCaps = node.getYangModuleCapabilities().getOverride();
- }
-
- //non-module capabilities should not exist in yang module capabilities
- final NetconfSessionPreferences netconfSessionPreferences = NetconfSessionPreferences.fromStrings(capabilities);
- Preconditions.checkState(netconfSessionPreferences.getNonModuleCaps().isEmpty(),
- "List yang-module-capabilities/capability should contain only module based capabilities. "
- + "Non-module capabilities used: " + netconfSessionPreferences.getNonModuleCaps());
-
- boolean overrideNonModuleCaps = false;
- if (node.getNonModuleCapabilities() != null) {
- capabilities.addAll(node.getNonModuleCapabilities().getCapability());
- overrideNonModuleCaps = node.getNonModuleCapabilities().getOverride();
- }
-
- return Optional.of(new UserPreferences(NetconfSessionPreferences
- .fromStrings(capabilities, CapabilityOrigin.UserDefined), overrideYangModuleCaps, overrideNonModuleCaps));
- }