- private final SchemaContext schemaContext;
- private final YangInstanceIdentifier pathId;
-
- public DataChangeListener(SchemaContext schemaContext,
- AsyncDataChangeListener<YangInstanceIdentifier, NormalizedNode<?, ?>> listener, YangInstanceIdentifier pathId) {
- this.listener = listener;
- this.schemaContext = schemaContext;
- this.pathId = pathId;
+ private boolean notificationsEnabled = false;
+
+ public DataChangeListener(AsyncDataChangeListener<YangInstanceIdentifier,
+ NormalizedNode<?, ?>> listener) {
+ this.listener = Preconditions.checkNotNull(listener, "listener should not be null");
+ }
+
+ @Override
+ public void handleReceive(Object message) throws Exception {
+ if(message instanceof DataChanged){
+ dataChanged(message);
+ } else if(message instanceof EnableNotification){
+ enableNotification((EnableNotification) message);
+ }
+ }
+
+ private void enableNotification(EnableNotification message) {
+ notificationsEnabled = message.isEnabled();
+ LOG.debug("{} notifications for listener {}", (notificationsEnabled ? "Enabled" : "Disabled"),
+ listener);