ONOS-3605 Create thread Session input stream mechanism, adding listener for events from the device
Change-Id: Ib323487f61d9e595f7ccdc1957a92e58b7002d2a
diff --git a/providers/netconf/device/src/main/java/org/onosproject/provider/netconf/device/impl/NetconfDeviceProvider.java b/providers/netconf/device/src/main/java/org/onosproject/provider/netconf/device/impl/NetconfDeviceProvider.java
index 0aea67e..ea3bfcc 100644
--- a/providers/netconf/device/src/main/java/org/onosproject/provider/netconf/device/impl/NetconfDeviceProvider.java
+++ b/providers/netconf/device/src/main/java/org/onosproject/provider/netconf/device/impl/NetconfDeviceProvider.java
@@ -65,7 +65,7 @@
protected DeviceProviderRegistry providerRegistry;
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
- protected NetconfController controller; //where is initiated ?
+ protected NetconfController controller;
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
protected NetworkConfigRegistry cfgService;
@@ -73,11 +73,13 @@
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
protected CoreService coreService;
+ private static final String APP_NAME = "org.onosproject.netconf";
+ private static final String SCHEME_NAME = "netconf";
+ private static final String DEVICE_PROVIDER_PACKAGE = "org.onosproject.netconf.provider.device";
+ private static final String UNKNOWN = "unknown";
private DeviceProviderService providerService;
private NetconfDeviceListener innerNodeListener = new InnerNetconfDeviceListener();
- protected static final String ISNOTNULL = "NetconfDeviceInfo is not null";
- private static final String UNKNOWN = "unknown";
private final ConfigFactory factory =
new ConfigFactory<ApplicationId, NetconfProviderConfig>(APP_SUBJECT_FACTORY,
@@ -96,10 +98,10 @@
@Activate
public void activate() {
providerService = providerRegistry.register(this);
+ appId = coreService.registerApplication(APP_NAME);
cfgService.registerConfigFactory(factory);
cfgService.addListener(cfgLister);
controller.addDeviceListener(innerNodeListener);
- appId = coreService.registerApplication("org.onosproject.netconf");
connectDevices();
log.info("Started");
}
@@ -110,11 +112,12 @@
providerRegistry.unregister(this);
providerService = null;
cfgService.unregisterConfigFactory(factory);
+ controller.removeDeviceListener(innerNodeListener);
log.info("Stopped");
}
public NetconfDeviceProvider() {
- super(new ProviderId("netconf", "org.onosproject.netconf.provider.device"));
+ super(new ProviderId(SCHEME_NAME, DEVICE_PROVIDER_PACKAGE));
}
@Override
@@ -142,15 +145,18 @@
private class InnerNetconfDeviceListener implements NetconfDeviceListener {
+ private static final String IPADDRESS = "ipaddress";
+ protected static final String ISNULL = "NetconfDeviceInfo is null";
+
@Override
public void deviceAdded(NetconfDeviceInfo nodeId) {
- Preconditions.checkNotNull(nodeId, ISNOTNULL);
+ Preconditions.checkNotNull(nodeId, ISNULL);
DeviceId deviceId = nodeId.getDeviceId();
//Netconf configuration object
ChassisId cid = new ChassisId();
String ipAddress = nodeId.ip().toString();
SparseAnnotations annotations = DefaultAnnotations.builder()
- .set("ipaddress", ipAddress).build();
+ .set(IPADDRESS, ipAddress).build();
DeviceDescription deviceDescription = new DefaultDeviceDescription(
deviceId.uri(),
Device.Type.SWITCH,
@@ -164,7 +170,7 @@
@Override
public void deviceRemoved(NetconfDeviceInfo nodeId) {
- Preconditions.checkNotNull(nodeId, ISNOTNULL);
+ Preconditions.checkNotNull(nodeId, ISNULL);
DeviceId deviceId = nodeId.getDeviceId();
providerService.deviceDisconnected(deviceId);
@@ -184,7 +190,7 @@
addr.ip(),
addr.port()));
} catch (IOException e) {
- log.warn("Can't connect to NETCONF " +
+ log.info("Can't connect to NETCONF " +
"device on {}:{}",
addr.ip(),
addr.port());