-public class DataChangeListener extends UntypedActor {
- @Override public void onReceive(Object message) throws Exception {
- throw new UnsupportedOperationException("onReceive");
+public class DataChangeListener extends AbstractUntypedActor {
+ private final AsyncDataChangeListener<InstanceIdentifier, NormalizedNode<?, ?>> listener;
+
+ public DataChangeListener(
+ AsyncDataChangeListener<InstanceIdentifier, NormalizedNode<?, ?>> listener) {
+ this.listener = listener;
+ }
+
+ @Override public void handleReceive(Object message) throws Exception {
+ if(message instanceof DataChanged){
+ DataChanged reply = (DataChanged) message;
+ AsyncDataChangeEvent<InstanceIdentifier, NormalizedNode<?, ?>>
+ change = reply.getChange();
+ this.listener.onDataChanged(change);
+
+ if(getSender() != null){
+ getSender().tell(new DataChangedReply(), getSelf());
+ }
+
+ }