The class DataPacketServiceAdapter was added 68/2268/2
authorJozef Gloncak <jgloncak@cisco.com>
Wed, 30 Oct 2013 09:09:43 +0000 (10:09 +0100)
committerGerrit Code Review <gerrit@opendaylight.org>
Wed, 30 Oct 2013 16:25:17 +0000 (16:25 +0000)
It is mirror for DataPacketAdapter class.

Change-Id: If78160e3f7b6f513cc5f4ab9bfb23c60339897ea
Signed-off-by: Jozef Gloncak <jgloncak@cisco.com>
opendaylight/md-sal/sal-compability/src/main/java/org/opendaylight/controller/sal/compability/adsal/DataPacketServiceAdapter.java [new file with mode: 0644]

diff --git a/opendaylight/md-sal/sal-compability/src/main/java/org/opendaylight/controller/sal/compability/adsal/DataPacketServiceAdapter.java b/opendaylight/md-sal/sal-compability/src/main/java/org/opendaylight/controller/sal/compability/adsal/DataPacketServiceAdapter.java
new file mode 100644 (file)
index 0000000..746147b
--- /dev/null
@@ -0,0 +1,33 @@
+package org.opendaylight.controller.sal.compability.adsal;
+
+import org.opendaylight.controller.sal.compability.NodeMapping;
+import org.opendaylight.controller.sal.packet.*;
+import org.opendaylight.controller.sal.packet.RawPacket;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorRef;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.*;
+
+public class DataPacketServiceAdapter implements IPluginInDataPacketService {
+
+    PacketProcessingService delegate;
+
+    @Override
+    public void transmitDataPacket(RawPacket outPkt) {
+        TransmitPacketInput packet = toTransmitPacketInput(outPkt);
+        delegate.transmitPacket(packet);
+    }
+
+    private TransmitPacketInput toTransmitPacketInput(RawPacket rawPacket) {
+        TransmitPacketInputBuilder builderTPIB = new TransmitPacketInputBuilder();
+
+        NodeConnectorRef egress = NodeMapping.toNodeConnectorRef(rawPacket.getOutgoingNodeConnector());
+        NodeConnectorRef ingress = NodeMapping.toNodeConnectorRef(rawPacket.getIncomingNodeConnector());
+        byte[] payload = rawPacket.getPacketData();
+
+        builderTPIB.setEgress(egress);
+        builderTPIB.setIngress(ingress);
+        builderTPIB.setPayload(payload);
+
+        return builderTPIB.build();
+    }
+
+}