X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fcompatibility%2Fsal-compatibility%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fcompatibility%2FDataPacketAdapter.java;h=4d26a3a09583c349211a848e286f9dac16f9a21f;hp=f95f97804f3d75d43f0dbb524893f51c9cdcd44d;hb=37f2912ce3af03dfafaa63a5a0c9c97219ae34d3;hpb=2f742650ccee1d749ee02ed7c52f45488fd27a1a diff --git a/opendaylight/md-sal/compatibility/sal-compatibility/src/main/java/org/opendaylight/controller/sal/compatibility/DataPacketAdapter.java b/opendaylight/md-sal/compatibility/sal-compatibility/src/main/java/org/opendaylight/controller/sal/compatibility/DataPacketAdapter.java index f95f97804f..4d26a3a095 100644 --- a/opendaylight/md-sal/compatibility/sal-compatibility/src/main/java/org/opendaylight/controller/sal/compatibility/DataPacketAdapter.java +++ b/opendaylight/md-sal/compatibility/sal-compatibility/src/main/java/org/opendaylight/controller/sal/compatibility/DataPacketAdapter.java @@ -17,13 +17,19 @@ import org.slf4j.LoggerFactory; class DataPacketAdapter implements PacketProcessingListener { private static final Logger LOG = LoggerFactory.getLogger(DataPacketAdapter.class); + + // These are injected via Apache DM (see ComponentActivator) private IPluginOutDataPacketService dataPacketPublisher; @Override public void onPacketReceived(final PacketReceived packet) { try { RawPacket inPacket = toRawPacket(packet); - dataPacketPublisher.receiveDataPacket(inPacket); + if (dataPacketPublisher != null) { + dataPacketPublisher.receiveDataPacket(inPacket); + } else { + LOG.warn("IPluginOutDataPacketService is not available. Not forwarding packet to AD-SAL."); + } } catch (ConstructionException e) { LOG.warn("Failed to construct raw packet from {}, dropping it", packet, e); } @@ -34,4 +40,13 @@ class DataPacketAdapter implements PacketProcessingListener { ret.setIncomingNodeConnector(NodeMapping.toADNodeConnector(received.getIngress())); return ret; } + + public IPluginOutDataPacketService getDataPacketPublisher() { + return dataPacketPublisher; + } + + // These are injected via Apache DM (see ComponentActivator) + public void setDataPacketPublisher(final IPluginOutDataPacketService dataPacketPublisher) { + this.dataPacketPublisher = dataPacketPublisher; + } }