ProactiveFloodFlowWriter implements DataTreeChangeListener<StpStatusAwareNodeConnector>,
        OpendaylightInventoryListener { public ListenerRegistration<ProactiveFloodFlowWriter> registerAsDataChangeListener() { InstanceIdentifier<StpStatusAwareNodeConnector> path = InstanceIdentifier.<Nodes>builder(Nodes.class) .<Node>child(Node.class).<NodeConnector>child(NodeConnector.class) .<StpStatusAwareNodeConnector>augmentation(StpStatusAwareNodeConnector.class).build(); return dataBroker.registerDataTreeChangeListener(new DataTreeIdentifier<>( LogicalDatastoreType.OPERATIONAL, path), this); } ProactiveFloodFlowWriter(DataBroker dataBroker, SalFlowService salFlowService); void setFlowInstallationDelay(long flowInstallationDelay); void setFlowTableId(short flowTableId); void setFlowPriority(int flowPriority); void setFlowIdleTimeout(int flowIdleTimeout); void setFlowHardTimeout(int flowHardTimeout); @Override void onNodeConnectorRemoved(NodeConnectorRemoved notification); @Override void onNodeConnectorUpdated(NodeConnectorUpdated notification); @Override void onNodeRemoved(NodeRemoved notification); @Override void onNodeUpdated(NodeUpdated notification); ListenerRegistration<ProactiveFloodFlowWriter> registerAsDataChangeListener(); @Override void onDataTreeChanged(Collection<DataTreeModification<StpStatusAwareNodeConnector>> changes);  }
@SuppressWarnings("unchecked") @Test public void testRegisterAsDataChangeListener() throws Exception { proactiveFloodFlowWriter.registerAsDataChangeListener(); verify(dataBroker, times(1)).registerDataTreeChangeListener(any(DataTreeIdentifier.class), any(DataTreeChangeListener.class)); }