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