-public class DataChangeListener extends UntypedActor {
- @Override public void onReceive(Object message) throws Exception {
- throw new UnsupportedOperationException("onReceive");
+/**
+ * Actor for a DataChangeListener.
+ *
+ * @deprecated Replaced by {@link DataTreeChangeListener}
+ */
+@Deprecated
+public class DataChangeListener extends AbstractUntypedActor {
+ private final AsyncDataChangeListener<YangInstanceIdentifier, NormalizedNode<?, ?>> listener;
+ private final YangInstanceIdentifier registeredPath;
+ private boolean notificationsEnabled = false;
+
+ public DataChangeListener(AsyncDataChangeListener<YangInstanceIdentifier, NormalizedNode<?, ?>> listener,
+ final YangInstanceIdentifier registeredPath) {
+ this.listener = Preconditions.checkNotNull(listener, "listener should not be null");
+ this.registeredPath = Preconditions.checkNotNull(registeredPath);
+ }
+
+ @Override
+ public void handleReceive(Object message) {
+ if (message instanceof DataChanged) {
+ dataChanged(message);
+ } else if (message instanceof EnableNotification) {
+ enableNotification((EnableNotification) message);
+ } else {
+ unknownMessage(message);
+ }
+ }
+
+ private void enableNotification(EnableNotification message) {
+ notificationsEnabled = message.isEnabled();
+ LOG.debug("{} notifications for listener {}", notificationsEnabled ? "Enabled" : "Disabled",
+ listener);