- @Override public void handleReceive(Object message) throws Exception {
- if(message.getClass().equals(DataChanged.SERIALIZABLE_CLASS)){
- DataChanged reply = DataChanged.fromSerialize(schemaContext,message, pathId);
- AsyncDataChangeEvent<YangInstanceIdentifier, NormalizedNode<?, ?>>
- change = reply.getChange();
- this.listener.onDataChanged(change);
+ @Override
+ public void handleReceive(Object message) {
+ if (message instanceof DataChanged) {
+ dataChanged(message);
+ } else if (message instanceof EnableNotification) {
+ enableNotification((EnableNotification) message);
+ } else if (message instanceof GetInfo) {
+ getSender().tell(new DataTreeListenerInfo(listener.toString(), registeredPath.toString(),
+ notificationsEnabled, notificationCount), getSelf());
+ } else {
+ unknownMessage(message);
+ }
+ }
+
+ private void enableNotification(EnableNotification message) {
+ notificationsEnabled = message.isEnabled();
+ LOG.debug("{} notifications for listener {}", notificationsEnabled ? "Enabled" : "Disabled",
+ listener);
+ }