import com.google.common.base.Preconditions;
import java.util.Collection;
import javax.annotation.Nonnull;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.DataObjectModification;
-import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataObjectModification;
+import org.opendaylight.mdsal.binding.api.DataTreeModification;
import org.opendaylight.netconf.notifications.BaseNotificationPublisherRegistration;
import org.opendaylight.netconf.notifications.NetconfNotificationCollector;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netconf.base._1._0.rev110601.SessionIdOrZeroType;
import org.opendaylight.yangtools.concepts.ListenerRegistration;
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
- * Listens on changes in NetconfState/Sessions/Session datastore and publishes them
+ * Listens on changes in NetconfState/Sessions/Session datastore and publishes them.
*/
public class SessionNotificationProducer extends OperationalDatastoreListener<Session> {
private static final InstanceIdentifier<Session> SESSION_INSTANCE_IDENTIFIER =
InstanceIdentifier.create(NetconfState.class).child(Sessions.class).child(Session.class);
+ private static final Logger LOG = LoggerFactory.getLogger(SessionNotificationProducer.class);
+
private final BaseNotificationPublisherRegistration baseNotificationPublisherRegistration;
private final ListenerRegistration sessionListenerRegistration;
this.sessionListenerRegistration = registerOnChanges(dataBroker);
}
+ @SuppressWarnings("checkstyle:MissingSwitchDefault")
@Override
- public void onDataTreeChanged(@Nonnull Collection<DataTreeModification<Session>> changes) {
+ public void onDataTreeChanged(@Nonnull final Collection<DataTreeModification<Session>> changes) {
for (DataTreeModification<Session> change : changes) {
final DataObjectModification<Session> rootNode = change.getRootNode();
final DataObjectModification.ModificationType modificationType = rootNode.getModificationType();
publishEndedSession(removed);
}
break;
+ default:
+ LOG.debug("Received intentionally unhandled type: {}.", modificationType);
}
}
}
- private void publishStartedSession(DataObject dataObject) {
+ private void publishStartedSession(final DataObject dataObject) {
Preconditions.checkArgument(dataObject instanceof Session);
Session session = (Session) dataObject;
final NetconfSessionStart sessionStart = new NetconfSessionStartBuilder()
baseNotificationPublisherRegistration.onSessionStarted(sessionStart);
}
- private void publishEndedSession(DataObject dataObject) {
+ private void publishEndedSession(final DataObject dataObject) {
Preconditions.checkArgument(dataObject instanceof Session);
Session session = (Session) dataObject;
final NetconfSessionEnd sessionEnd = new NetconfSessionEndBuilder()
/**
- * Invoke by blueprint
+ * Invoked by blueprint.
*/
public void close() {
if (baseNotificationPublisherRegistration != null) {