ONOS-3182 added swap functionality

Change-Id: Idc521a330c5bb3c0e0a47f66a90dfa95855e610f
diff --git a/apps/pathpainter/src/main/java/org/onosproject/pathpainter/PathPainterTopovMessageHandler.java b/apps/pathpainter/src/main/java/org/onosproject/pathpainter/PathPainterTopovMessageHandler.java
index c7eba1e..d9b6f76 100644
--- a/apps/pathpainter/src/main/java/org/onosproject/pathpainter/PathPainterTopovMessageHandler.java
+++ b/apps/pathpainter/src/main/java/org/onosproject/pathpainter/PathPainterTopovMessageHandler.java
@@ -84,6 +84,7 @@
         return ImmutableSet.of(
                 new SetSrcHandler(),
                 new SetDstHandler(),
+                new SwapSrcDstHandler(),
                 new NextPathHandler(),
                 new PrevPathHandler()
         );
@@ -124,6 +125,20 @@
         }
     }
 
+    private final class SwapSrcDstHandler extends RequestHandler {
+        public SwapSrcDstHandler() {
+            super(PAINTER_SWAP_SRC_DST);
+        }
+
+        @Override
+        public void process(long sid, ObjectNode payload) {
+            ElementId temp = src;
+            src = dst;
+            dst = temp;
+            findAndSendPaths();
+        }
+    }
+
     private final class NextPathHandler extends RequestHandler {
         public NextPathHandler() {
             super(PAINTER_NEXT_PATH);