Update resources and App.js to support line side connectivity service for photonic media layer

Change-Id: Id3c52af5821a04981f23adc76c3b5ce071fe2006
diff --git a/odtn-phase1-demo/src/resources/getResources.js b/odtn-phase1-demo/src/resources/getResources.js
index c555a66..aa35f0e 100644
--- a/odtn-phase1-demo/src/resources/getResources.js
+++ b/odtn-phase1-demo/src/resources/getResources.js
@@ -30,20 +30,40 @@
     })
     .then(([deviceDetails, sipDetails, connectivityService]) => {
 
-      const sipIdMap = sipDetails
-        .filter(filterOnlyDsrSips)
+      const dsrSipIdMap = sipDetails
+        .filter(filterSipsByLayer.bind(null, "DSR"))
         .reduce((_sipIdMap, sipDetail) => {
-        _sipIdMap[sipDetail.name.filter(kv => kv["value-name"] === "onos-cp")[0].value] = sipDetail.uuid
-        return _sipIdMap
-      }, {})
-      console.log(sipIdMap)
+          _sipIdMap[sipDetail.name.filter(kv => kv["value-name"] === "onos-cp")[0].value] = sipDetail.uuid
+          return _sipIdMap
+        }, {})
+      const mediaSipIdMap = sipDetails
+        .filter(filterSipsByLayer.bind(null, "PHOTONIC_MEDIA"))
+        .reduce((_sipIdMap, sipDetail) => {
+          _sipIdMap[sipDetail.name.filter(kv => kv["value-name"] === "onos-cp")[0].value] = sipDetail.uuid
+          return _sipIdMap
+        }, {})
+      const portMap = {}
+
+      console.log('DSR SIP ID Map', dsrSipIdMap)
+      console.log('PhotinicMedia SIP ID Map', mediaSipIdMap)
 
       deviceDetails.forEach(deviceDetail => {
         deviceDetail.ports.forEach(port => {
           const key = `${port.element}/${port.port}`
-          if(sipIdMap[key]) {
-            port.sipId = sipIdMap[key]
+          if(dsrSipIdMap[key]) {
+            port.sipId = dsrSipIdMap[key]
           }
+          if(mediaSipIdMap[key]) {
+            port.mediaSipId = mediaSipIdMap[key]
+          }
+          portMap[key] = port
+        })
+      })
+
+      deviceDetails.forEach(deviceDetail => {
+        deviceDetail.ports.filter(filterClientSidePort).forEach(cliPort => {
+          const linePortKey = `${cliPort.element}/${parseInt(cliPort.port) + 100}`
+          cliPort.associatedLinePort = portMap[linePortKey]
         })
       })
 
@@ -55,6 +75,10 @@
 
 }
 
-function filterOnlyDsrSips(sipDetail) {
-  return sipDetail["layer-protocol-name"] === 'DSR'
+function filterClientSidePort(port) {
+  return Math.floor( parseInt(port.port) / 100 ) === 1
+}
+
+function filterSipsByLayer(layerProtocolName, sipDetail) {
+  return sipDetail["layer-protocol-name"] === layerProtocolName
 }
\ No newline at end of file