Bug 625 - Fixed Apache DM Activation after removing xtend code.
[controller.git] / opendaylight / md-sal / compatibility / sal-compatibility / src / main / java / org / opendaylight / controller / sal / compatibility / DataPacketAdapter.java
index f95f97804f3d75d43f0dbb524893f51c9cdcd44d..4d26a3a09583c349211a848e286f9dac16f9a21f 100644 (file)
@@ -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;
+    }
 }