Repository: telstra/open-kilda
Issue: [flowHistory] incorrect fowrawd/reverse Paths fields in beforeState section after updating flow endpoint

**Steps to reproduce:**

1. create a multi-switch flow `(00:00:00:00:00:00:00:02_7 - 00:00:00:00:00:00:00:03_8)`
2. update the flow (for example make single-switch flow `(00:00:00:00:00:00:00:02_7 - 00:00:00:00:00:00:00:02_8)`)
3. check an `update` action in flow history 

**Expected result:**
The forward/reverse paths fields are correct. 
```
 {"type": "stateBefore",
...
     "forwardPath": "[{\\"switch_id\\":\\"00:00:00:00:00:00:00:02\\",\\"input_port\\":7,\\"output_port\\":34},{\\"switch_id\\":\\"00:00:00:00:00:00:00:03\\",\\"input_port\\":2,\\"output_port\\":8}]",
     "reversePath": "[{\\"switch_id\\":\\"00:00:00:00:00:00:00:03\\",\\"input_port\\":8,\\"output_port\\":2},{\\"switch_id\\":\\"00:00:00:00:00:00:00:02\\",\\"input_port\\":34,\\"output_port\\":7}]",
...}
```

**Actual result:**
The forward/reverse paths fields are incorrect. wrong dst swId is set.
```
 { "type": "stateBefore",
...
     "forwardPath": "[{\\"switch_id\\":\\"00:00:00:00:00:00:00:02\\",\\"input_port\\":7,\\"output_port\\":34},{\\"switch_id\\":\\"00:00:00:00:00:00:00:02\\",\\"input_port\\":2,\\"output_port\\":8}]",
     "reversePath": "[{\\"switch_id\\":\\"00:00:00:00:00:00:00:02\\",\\"input_port\\":8,\\"output_port\\":2},{\\"switch_id\\":\\"00:00:00:00:00:00:00:02\\",\\"input_port\\":34,\\"output_port\\":7}]",
...}
```

Changed files:
src-java/flowhs-topology/flowhs-storm-topology/src/main/java/org/openkilda/wfm/topology/flowhs/fsm/update/actions/CompleteFlowPathRemovalAction.java

diff --git a/src-java/flowhs-topology/flowhs-storm-topology/src/main/java/org/openkilda/wfm/topology/flowhs/fsm/update/actions/CompleteFlowPathRemovalAction.java b/src-java/flowhs-topology/flowhs-storm-topology/src/main/java/org/openkilda/wfm/topology/flowhs/fsm/update/actions/CompleteFlowPathRemovalAction.java
index afa5b107e..8e782223d 100644
--- a/src-java/flowhs-topology/flowhs-storm-topology/src/main/java/org/openkilda/wfm/topology/flowhs/fsm/update/actions/CompleteFlowPathRemovalAction.java
+++ b/src-java/flowhs-topology/flowhs-storm-topology/src/main/java/org/openkilda/wfm/topology/flowhs/fsm/update/actions/CompleteFlowPathRemovalAction.java
@@ -74,6 +74,7 @@ public class CompleteFlowPathRemovalAction extends
                 updateIslsForFlowPath(removedPaths.getReverse());
             }
             if (removedPaths != null) {
+                restoreFlowEndpoints(removedPaths, originalFlow);
                 saveRemovalActionWithDumpToHistory(stateMachine, originalFlow, removedPaths);
             }
         }
@@ -106,11 +107,20 @@ public class CompleteFlowPathRemovalAction extends
                 updateIslsForFlowPath(removedPaths.getReverse());
             }
             if (removedPaths != null) {
+                restoreFlowEndpoints(removedPaths, originalFlow);
                 saveRemovalActionWithDumpToHistory(stateMachine, originalFlow, removedPaths);
             }
         }
     }
 
+    private void restoreFlowEndpoints(FlowPathPair flowPathPair, Flow originalFlow) {
+        Flow flow = flowPathPair.getForward().getFlow();
+        flow.setSrcSwitch(originalFlow.getSrcSwitch());
+        flow.setSrcPort(originalFlow.getSrcPort());
+        flow.setDestSwitch(originalFlow.getDestSwitch());
+        flow.setDestPort(originalFlow.getDestPort());
+    }
+
     private void removeRejectedFlowPaths(Flow flow, FlowUpdateFsm stateMachine) {
         stateMachine.getRejectedPaths().stream()
                 .forEach(pathId ->