Add OnDemandShardState to report additional Shard state
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / DataChangeListener.java
index b79f3045f63dbeadbe9b52f5929b35793aeb5a4d..dc19aa400f66d47fd59134b062f8b04c9bfb6f78 100644 (file)
@@ -9,7 +9,6 @@
 package org.opendaylight.controller.cluster.datastore;
 
 import akka.actor.Props;
-import akka.japi.Creator;
 import com.google.common.base.Preconditions;
 import org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor;
 import org.opendaylight.controller.cluster.datastore.messages.DataChanged;
@@ -24,15 +23,18 @@ import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 /**
  * Actor for a DataChangeListener.
  *
- * @Deprecated Replaced by {@link DataTreeChangeListener}
+ * @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) {
+    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
@@ -69,7 +71,7 @@ public class DataChangeListener extends AbstractUntypedActor {
         try {
             this.listener.onDataChanged(change);
         } catch (RuntimeException e) {
-            LOG.error( String.format( "Error notifying listener %s", this.listener ), e );
+            LOG.error(String.format("Error notifying listener %s", this.listener), e);
         }
 
         if (isValidSender(getSender())) {
@@ -77,24 +79,8 @@ public class DataChangeListener extends AbstractUntypedActor {
         }
     }
 
-    public static Props props(final AsyncDataChangeListener<YangInstanceIdentifier,
-                                                            NormalizedNode<?, ?>> listener) {
-        return Props.create(new DataChangeListenerCreator(listener));
-    }
-
-    private static class DataChangeListenerCreator implements Creator<DataChangeListener> {
-        private static final long serialVersionUID = 1L;
-
-        final AsyncDataChangeListener<YangInstanceIdentifier, NormalizedNode<?, ?>> listener;
-
-        DataChangeListenerCreator(
-                AsyncDataChangeListener<YangInstanceIdentifier, NormalizedNode<?, ?>> listener) {
-            this.listener = listener;
-        }
-
-        @Override
-        public DataChangeListener create() throws Exception {
-            return new DataChangeListener(listener);
-        }
+    public static Props props(final AsyncDataChangeListener<YangInstanceIdentifier, NormalizedNode<?, ?>> listener,
+            final YangInstanceIdentifier registeredPath) {
+        return Props.create(DataChangeListener.class, listener, registeredPath);
     }
 }