Revert "WIP: Bump upstreams"
[openflowplugin.git] / applications / forwardingrules-manager / src / main / java / org / opendaylight / openflowplugin / applications / frm / impl / MeterForwarder.java
index ef8d5d7d97a411d606fdfa87fe79ed62f124eed9..ecf18514a3dffe0e706f3c583ef49c8921a80109 100644 (file)
@@ -13,7 +13,6 @@ import com.google.common.util.concurrent.MoreExecutors;
 import java.util.concurrent.Future;
 import org.opendaylight.infrautils.utils.concurrent.LoggingFutures;
 import org.opendaylight.mdsal.binding.api.DataBroker;
-import org.opendaylight.mdsal.binding.api.DataTreeIdentifier;
 import org.opendaylight.mdsal.binding.api.WriteTransaction;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.openflowplugin.applications.frm.ForwardingRulesManager;
@@ -35,7 +34,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.service.rev130918.met
 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.service.rev130918.meter.update.UpdatedMeterBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterRef;
-import org.opendaylight.yangtools.concepts.ListenerRegistration;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.common.RpcResult;
 import org.slf4j.Logger;
@@ -52,29 +50,14 @@ import org.slf4j.LoggerFactory;
 public class MeterForwarder extends AbstractListeningCommiter<Meter> {
 
     private static final Logger LOG = LoggerFactory.getLogger(MeterForwarder.class);
-    private ListenerRegistration<MeterForwarder> listenerRegistration;
 
-    public MeterForwarder(final ForwardingRulesManager manager, final DataBroker db) {
-        super(manager, db);
+    public MeterForwarder(final ForwardingRulesManager manager, final DataBroker db,
+                          final ListenerRegistrationHelper listenerRegistrationHelper) {
+        super(manager, db, listenerRegistrationHelper);
     }
 
-    @SuppressWarnings("IllegalCatch")
     @Override
-    public void registerListener() {
-        final DataTreeIdentifier<Meter> treeId = DataTreeIdentifier.create(LogicalDatastoreType.CONFIGURATION,
-                getWildCardPath());
-
-        try {
-            listenerRegistration = dataBroker.registerDataTreeChangeListener(treeId, MeterForwarder.this);
-        } catch (final Exception e) {
-            LOG.warn("FRM Meter DataTreeChange listener registration fail!");
-            LOG.debug("FRM Meter DataTreeChange listener registration fail ..", e);
-            throw new IllegalStateException("MeterForwarder startup fail! System needs restart.", e);
-        }
-    }
-
-    @Override
-    public  void deregisterListener() {
+    public void deregisterListener() {
         close();
     }
 
@@ -154,7 +137,7 @@ public class MeterForwarder extends AbstractListeningCommiter<Meter> {
         persistStaleMeter(staleMeter, nodeIdent);
     }
 
-    private StaleMeter makeStaleMeter(Meter del) {
+    private static StaleMeter makeStaleMeter(Meter del) {
         StaleMeterBuilder staleMeterBuilder = new StaleMeterBuilder(del);
         return staleMeterBuilder.setMeterId(del.getMeterId()).build();
     }
@@ -162,13 +145,13 @@ public class MeterForwarder extends AbstractListeningCommiter<Meter> {
     private void persistStaleMeter(StaleMeter staleMeter, InstanceIdentifier<FlowCapableNode> nodeIdent) {
         WriteTransaction writeTransaction = dataBroker.newWriteOnlyTransaction();
         writeTransaction.put(LogicalDatastoreType.CONFIGURATION, getStaleMeterInstanceIdentifier(staleMeter, nodeIdent),
-                staleMeter, false);
+                staleMeter);
 
         FluentFuture<?> submitFuture = writeTransaction.commit();
         handleStaleMeterResultFuture(submitFuture);
     }
 
-    private void handleStaleMeterResultFuture(FluentFuture<?> submitFuture) {
+    private static void handleStaleMeterResultFuture(FluentFuture<?> submitFuture) {
         submitFuture.addCallback(new FutureCallback<Object>() {
             @Override
             public void onSuccess(Object result) {
@@ -182,7 +165,7 @@ public class MeterForwarder extends AbstractListeningCommiter<Meter> {
         }, MoreExecutors.directExecutor());
     }
 
-    private InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819
+    private static InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819
         .meters.StaleMeter> getStaleMeterInstanceIdentifier(
             StaleMeter staleMeter, InstanceIdentifier<FlowCapableNode> nodeIdent) {
         return nodeIdent.child(StaleMeter.class, new StaleMeterKey(new MeterId(staleMeter.getMeterId())));