Add ROADM application

Change-Id: I50fa93cf3a69122f6434b46e831b254771159294
diff --git a/apps/roadm/src/main/resources/app/view/roadmPort/roadmPort.html b/apps/roadm/src/main/resources/app/view/roadmPort/roadmPort.html
new file mode 100644
index 0000000..1e2affd
--- /dev/null
+++ b/apps/roadm/src/main/resources/app/view/roadmPort/roadmPort.html
@@ -0,0 +1,73 @@
+<!-- partial HTML -->
+<div id="ov-roadm-port" class="less-gap">
+
+    <div class="tabular-header">
+        <h2>Ports for Optical Device {{devId}} ({{tableData.length}} total)</h2>
+        <div class="ctrl-btns">
+            <div class="refresh" ng-class="{active: autoRefresh}"
+                 icon icon-id="refresh" icon-size="42"
+                 tooltip tt-msg="autoRefreshTip"
+                 ng-click="toggleRefresh()"></div>
+            <div class="separator"></div>
+
+            <div class="active"
+                 icon icon-id="deviceTable" icon-size="42"
+                 tooltip tt-msg="deviceTip"
+                 ng-click="nav('roadmDevice')"></div>
+
+            <div class="active"
+                 icon icon-id="flowTable" icon-size="42"
+                 tooltip tt-msg="flowTip"
+                 ng-click="nav('roadmFlow')"></div>
+
+            <div class="current-view"
+                 icon icon-id="portTable" icon-size="42"
+                 tooltip tt-msg="portTip"></div>
+        </div>
+    </div>
+
+    <div class="summary-list" onos-table-resize>
+
+        <div class="table-header" onos-sortable-header>
+            <table>
+                <tr>
+                    <td colId="id" sortable>Port Number </td>
+                    <td colId="name" sortable>Name </td>
+                    <td colId="type" sortable>Type </td>
+                    <td colId="enabled" sortable>Enabled </td>
+                    <td colId="minFreq" sortable>Min Freq <span class="units">(THz)</span> </td>
+                    <td colId="maxFreq" sortable>Max Freq <span class="units">(THz)</span> </td>
+                    <td colId="grid" sortable>Grid <span class="units">(GHz)</span> </td>
+                    <td colId="portMac" sortable>Input Power Range </td>
+                    <td colId="currentPower">Current Power <span class="units">(0.01dBm)</span> </td>
+                    <td colId="targetPower" col-width="200px">Target Power <span class="units">(0.01dBm)</span> </td>
+                </tr>
+            </table>
+        </div>
+
+        <div class="table-body">
+            <table>
+                <tr ng-if="!tableData.length" class="no-data">
+                    <td colspan="10">
+                        {{annots.no_rows_msg}}
+                    </td>
+                </tr>
+
+                <tr ng-repeat="item in tableData track by $index"
+                    ng-class="{selected: item.id === selId}">
+                    <td>{{item.id}}</td>
+                    <td>{{item.name}}</td>
+                    <td>{{item.type}}</td>
+                    <td>{{item.enabled}}</td>
+                    <td>{{item.minFreq}}</td>
+                    <td>{{item.maxFreq}}</td>
+                    <td>{{item.grid}}</td>
+                    <td>{{item.inputPowerRange}}</td>
+                    <td>{{item.currentPower}}</td>
+                    <td class="editable" roadm-power="item" roadm-set-power="setPortPower(port, targetVal, cb)"></td>
+                </tr>
+            </table>
+        </div>
+
+    </div>
+</div>