Improvements of roadm application:
  1.Fix the bug of Treating path index as port number for APS;
  2.Creating APS switching operations dynamically, instead of hard code;
  3.Change APS interface for general using;
  4.Compatible test base on the devices of OPENFLOW and NETCONF protocol.

Change-Id: Ib750d40ed28fc184a96b58e97715beab3d80ff17
diff --git a/apps/roadm/src/main/resources/app/view/roadmPort/roadmPort.css b/apps/roadm/src/main/resources/app/view/roadmPort/roadmPort.css
index 6be2601..00e195a 100644
--- a/apps/roadm/src/main/resources/app/view/roadmPort/roadmPort.css
+++ b/apps/roadm/src/main/resources/app/view/roadmPort/roadmPort.css
@@ -80,7 +80,7 @@
 }
 
 #ov-roadm-port .mode-select select {
-    width: 150px;
+    width: 250px;
 }
 
 #ov-roadm-port .mode-select button {
diff --git a/apps/roadm/src/main/resources/app/view/roadmPort/roadmPort.html b/apps/roadm/src/main/resources/app/view/roadmPort/roadmPort.html
index 43aeb93..f896ebd 100644
--- a/apps/roadm/src/main/resources/app/view/roadmPort/roadmPort.html
+++ b/apps/roadm/src/main/resources/app/view/roadmPort/roadmPort.html
@@ -70,8 +70,8 @@
             </table>
             <div class="mode-select" ng-show="showServiceState">
                 <hr/>
-                <label class="mode-title">Protection Mode:</label>
-                <select ng-model="opsModeType" ng-options="mode.type for mode in opsModeTypes"></select>
+                <label class="mode-title">Protection Switch:</label>
+                <select ng-model="opsModeType" ng-options="mode.name for mode in opsModeTypes"></select>
                 <button ng-click="changeOpsMode()" title="Click to apply selected protection mode">Apply</button>
                 <label class="mode-fail" ng-if="changeModeFail">{{changeModeFailMsg}}</label>
             </div>
diff --git a/apps/roadm/src/main/resources/app/view/roadmPort/roadmPort.js b/apps/roadm/src/main/resources/app/view/roadmPort/roadmPort.js
index 128b72c..05f05dd 100644
--- a/apps/roadm/src/main/resources/app/view/roadmPort/roadmPort.js
+++ b/apps/roadm/src/main/resources/app/view/roadmPort/roadmPort.js
@@ -40,6 +40,10 @@
         $scope.showTargetPower = data.showTargetPower;
         $scope.showServiceState = data.showServiceState;
         $scope.showFlowIcon = data.showFlowIcon;
+        $scope.opsModeTypes = data.opsOperations;
+        if ($scope.opsModeType == null) {
+            $scope.opsModeType = $scope.opsModeTypes[0];
+        }
         $scope.$apply();
     }
 
@@ -47,7 +51,8 @@
         wss.sendEvent(SET_OPS_MODE_REQ,
             {
                 devId: $scope.devId,
-                index: $scope.opsModeType.index
+                index: $scope.opsModeType.index,
+                operation: $scope.opsModeType.operation
             });
     }
 
@@ -86,12 +91,7 @@
             $scope.deviceTip = 'Show device table';
             $scope.flowTip = 'Show flow view for this device';
             $scope.portTip = 'Show port view for this device';
-            $scope.opsModeTypes = [
-                {index: 0, type: "Auto"},
-                {index: 1, type: "Primary"},
-                {index: 2, type: "Secondary"}
-            ];
-            $scope.opsModeType = $scope.opsModeTypes[0];//auto mode
+            $scope.opsModeType = null;
 
             var handlers = {};
             handlers[SET_TARGET_POWER_RESP] = portPowerCb;