GUI - topo view: added/updated... OTN, ROADM_OTN, FIBER_SWITCH
 - consolidated common glyph elements.
 - updated server-side constants.

Change-Id: Ia962f8827dafbb10fdbffed6dcb64c1ebcfc8c4d
diff --git a/web/gui/src/main/webapp/app/fw/svg/glyphData.js b/web/gui/src/main/webapp/app/fw/svg/glyphData.js
index ceebcb1..8522e95 100644
--- a/web/gui/src/main/webapp/app/fw/svg/glyphData.js
+++ b/web/gui/src/main/webapp/app/fw/svg/glyphData.js
@@ -42,8 +42,8 @@
     // --- Core glyphs ------------------------------------
 
     // TODO: ONOS-2566 glyphs for device types:
-    //          otn, roadm_otn, firewall, balancer, ips, ids,
-    //          controller, virtual, fiber_switch, other
+    //          firewall, balancer, ips, ids,
+    //          controller, virtual, other
 
     // NOTE: when adding glyphs, please also update TopoConstants.Glyphs class.
 
@@ -55,6 +55,56 @@
             'M76.1,5.3h15.6v14.2h-15.6z' +
             'M6.3,23.9h97.5v80.75h-97.5z',
 
+        rSquare = "M10,20a10,10,0,0,1,10-10h70a10,10,0,0,1,10,10v70a10,10," +
+            "0,0,1-10,10h-70a10,10,0,0,1-10-10z",
+
+        octagon = "M10,35l25-25h40l25,25v40l-25,25h-40l-25-25z",
+
+        circle = "M10,55A45,45,0,0,1,100,55A45,45,0,0,1,10,55",
+
+        arrowsLR = "M58,26l12,0,0-8,18,13-18,13,0-8-12,0z" +
+            "M58,60l12,0,0-8,18,13-18,13,0-8-12,0z" +
+            "M52,40l-12,0,0-8-18,13,18,13,0-8,12,0z" +
+            "M52,74l-12,0,0-8-18,13,18,13,0-8,12,0z",
+
+        arrowsInHOutV = "M20,50l12,0,0-8,18,13-18,13,0-8-12,0z" +
+            "M90,50l-12,0,0-8-18,13,18,13,0-8,12,0z" +
+            "M50,47l0-12-8,0,13-18,13,18-8,0,0,12z" +
+            "M50,63l0,12-8,0,13,18,13-18-8,0,0-12z",
+
+        bulbWave = "M48,85.8c-0.3,2.4-5.4,3.3-6.2,1a1.3,1.3,0,0,0-.4-0.7l6.8-1" +
+            "A1.4,1.4,0,0,0,48,85.8Z" +
+            "m3-2.3a0.9,0.9,0,0,1-.7.7L38.8,85.8a0.7,0.7,0,0,1-.8-0.5V83.8" +
+            "a0.8,0.8,0,0,1,.7-0.6l11.5-1.8a0.7,0.7,0,0,1,.8.5v1.5Z" +
+            "M51,80a0.9,0.9,0,0,1-.7.7L38.8,82.4A0.7,0.7,0,0,1,38,82V80.4" +
+            "a0.8,0.8,0,0,1,.7-0.7L50.2,78a0.7,0.7,0,0,1,.8.5V80Z" +
+            "m-4.9-2.1-5.3.9H40.6l-2,.3a0.5,0.5,0,0,1-.6-0.3V77.9" +
+            "a0.8,0.8,0,0,1,.6-0.5l7.1-.2c0.7,0,.8,0,0.8.2S46.6,77.8,46.1,77.9Z" +
+            "M86.2,51.3c-0.9-2.5-2.9-8.5-3.7-9.5s-1.7-.7-2.6.2S77,51.9,75,53.1" +
+            "a5.2,5.2,0,0,1-6.1-1.2,16.4,16.4,0,0,1-2.3-4.3,13.7,13.7,0,0,1-.5-1.9" +
+            "C65.4,54.5,59,62,51.4,64.9a0.5,0.5,0,0,0-.4.4V74" +
+            "c0,1.3-.9,3-2.2,3H39.9A3.4,3.4,0,0,1,37,73.8V65.7" +
+            "a0.4,0.4,0,0,0-.2-0.4A22.2,22.2,0,1,1,65.5,38.9a3,3,0,0,0-1.2-.6" +
+            "c-2.3-.7-4.1,1.2-5,3.1s-2,8.4-2.8,9.1-3.2.9-4.1-.4" +
+            "a15.3,15.3,0,0,1-1.7-3.5c-1-2.2-2-7.9-4.9-8.5S42,41.4,41,43.2" +
+            "s0.6,2.6,1.6,1.6,1-2.7,1.9-3.8a1.3,1.3,0,0,1,2.1.5" +
+            "c0.2,0.7,1.5,4.2,1.9,5.2,1.1,2.6,1.9,5.4,4.3,6.9" +
+            "s4.2,0.6,5.3-1.1a19.5,19.5,0,0,0,1.9-5" +
+            "c0.4-1.7,1.5-9.2,4.8-5.7,0.7,0.7,1,2.5,1.4,4,0-.5.1-1,0.1-1.6" +
+            "a21.4,21.4,0,0,0-.6-5.2c2,1.7,2.4,5.9,3.2,8" +
+            "A12.2,12.2,0,0,0,70.2,50c1,1.1,3.3,1.5,4.1-.1s2.5-7.6,3.6-9.4" +
+            "a3.9,3.9,0,0,1,5.7-1.3c1.2,0.8,1.5,2.2,1.9,3.5l2.8,8.1" +
+            "C88.8,52,86.7,52.6,86.2,51.3Z",
+
+        fiberStar = "M89,60V57H70.6a15,15,0,0,1-3.2,7.6l13,12.9L82.8,75v7.5" +
+            "H75.2l2.2-2.2-12.8-13A14.9,14.9,0,0,1,57,70.6V89h3.1l-5.3,5.4" +
+            "L49.4,89H53V70.6a13.2,13.2,0,0,1-8-3.2l-13.1,13,2.3,2.3H26.5" +
+            "V75.1l2.3,2.3,13-12.8A15,15,0,0,1,38.7,57H21v3l-5.4-5.4L21,49.3" +
+            "V53H38.7a13.1,13.1,0,0,1,3.2-8l-13-13.1-2.2,2.1V26.4h7.5l-2.4,2.4" +
+            "L45,41.8a13.2,13.2,0,0,1,8-3.2V21H49.4l5.4-5.4L60.1,21H57V38.6" +
+            "a14.9,14.9,0,0,1,7.6,3.2l12.9-13-2.4-2.3h7.5v7.6l-2.3-2.3L67.4,45" +
+            "a13.1,13.1,0,0,1,3.2,8H89V49.3l5.4,5.3Z",
+
         glyphDataSet = {
             _viewbox: "0 0 110 110",
 
@@ -84,47 +134,15 @@
 
             // NOTE: "other" should map to 'unknown' (.) above
 
-            switch: "M10,20a10,10,0,0,1,10-10h70a10,10,0,0,1,10,10v70a10,10," +
-            "0,0,1-10,10h-70a10,10,0,0,1-10-10zM60,26l12,0,0-8,18,13-18,13,0" +
-            "-8-12,0zM60,60l12,0,0-8,18,13-18,13,0-8-12,0zM50,40l-12,0,0-8" +
-            "-18,13,18,13,0-8,12,0zM50,74l-12,0,0-8-18,13,18,13,0-8,12,0z",
+            switch: rSquare + arrowsLR,
 
-            router: "M10,55A45,45,0,0,1,100,55A45,45,0,0,1,10,55M20,50l12,0," +
-            "0-8,18,13-18,13,0-8-12,0zM90,50l-12,0,0-8-18,13,18,13,0-8,12,0z" +
-            "M50,47l0-12-8,0,13-18,13,18-8,0,0,12zM50,63l0,12-8,0,13,18,13" +
-            "-18-8,0,0-12z",
+            router: circle + arrowsInHOutV,
 
-            roadm: "M10,35l25-25h40l25,25v40l-25,25h-40l-25-25zM58,26l12,0,0" +
-            "-8,18,13-18,13,0-8-12,0zM58,60l12,0,0-8,18,13-18,13,0-8-12,0z" +
-            "M52,40l-12,0,0-8-18,13,18,13,0-8,12,0zM52,74l-12,0,0-8-18,13," +
-            "18,13,0-8,12,0z",
+            roadm: octagon + arrowsLR,
 
-            // TODO: review -- OTN
-            otn: "M70.7,42A32.5,32.5,0,0,1,50.2,69.3c-0.2.1-.2,0.3-0.2,0.6" +
-            "V82.3A4.1,4.1,0,0,1,46.2,86H33.5A3.8,3.8,0,0,1,30,82V70.4" +
-            "a0.7,0.7,0,0,0-.5-0.6A31.6,31.6,0,1,1,69.9,32.3a4.5,4.5,0,0,0-1.7-.9" +
-            "c-3.3-.9-5.8,1.7-7.1,4.4s-2.9,12-3.9,12.9-4.5,1.3-5.8-.5" +
-            "a22.8,22.8,0,0,1-2.4-4.9C47.6,40,46.1,32,42,31.1" +
-            "s-5.6,4.9-7,7.4,0.8,3.7,2.2,2.2,1.4-3.9,2.7-5.4a1.8,1.8,0,0,1,3,.7" +
-            "c0.3,1,2.1,6,2.7,7.3,1.5,3.7,2.8,7.6,6.2,9.8,1.6,1,5.9.9,7.5-1.6" +
-            "a27.8,27.8,0,0,0,2.7-7.1c0.6-2.5,2.1-13.1,6.8-8.1" +
-            "C69.7,37.2,70.2,39.8,70.7,42Z" +
-            "M48,91.7L32,94.2a0.7,0.7,0,0,1-.8-0.7V91.4a1,1,0,0,1,.8-0.9l16-2.5" +
-            "a0.7,0.7,0,0,1,.8.7v2.2A1,1,0,0,1,48,91.7Z" +
-            "M48,96.6L32,99.1a0.7,0.7,0,0,1-.8-0.7V96.2a1,1,0,0,1,.8-0.9l16-2.5" +
-            "a0.7,0.7,0,0,1,.8.7v2.2A1,1,0,0,1,48,96.6Z" +
-            "M35.6,99.4L45.3,98a2.1,2.1,0,0,0-.3,1c-0.5,3.4-7.7,4.6-8.8,1.4" +
-            "C35.8,99.1,35.6,99.4,35.6,99.4Z" +
-            "M34.9,89H34.6l-2.6.5a0.4,0.4,0,0,1-.5-0.4V87.8a0.7,0.7,0,0,1,.5-0.6" +
-            "l9.8-.3c1,0,1.1,0,1.1.3s0.2,0.5-.5.6Z" +
-            "M99.4,49.9c-1.3-3.6-4.2-12.1-5.2-13.5s-2.4-.9-3.7.3-4.1,14.1-7,15.7" +
-            "a7.3,7.3,0,0,1-8.7-1.7,23.3,23.3,0,0,1-3.2-6.1,19.7,19.7,0,0,1-.7-2.7" +
-            "c0.1-.7.1-1.5,0.1-2.2a30.9,30.9,0,0,0-.9-7.4" +
-            "c2.9,2.5,3.4,8.4,4.6,11.4,0.5,1.2,1.2,3.4,2.2,4.5s4.7,2.1,5.8-.2" +
-            "S86,37.1,87.5,34.5a5.5,5.5,0,0,1,8.1-1.9c1.7,1.2,2.1,3.1,2.7,4.9" +
-            "l4,11.5C103.1,51,100,51.8,99.4,49.9Z",
+            otn: rSquare + bulbWave,
 
-            // TODO: roadm_otn
+            roadm_otn: octagon + bulbWave,
 
             // TODO: firewall
 
@@ -138,15 +156,7 @@
 
             // TODO: virtual
 
-            // TODO: review -- FIBER_SWITCH
-            fiber_switch: "M98,61.3V57H74.6a19,19,0,0,1-4,9.8L86.9,83.1l3-3" +
-            "v9.5H80.4l2.8-2.8L66.8,70.6a19,19,0,0,1-9.8,4V98h4.5l-6.7,6.7" +
-            "L48.1,98H52V74.6a18.7,18.7,0,0,1-9.7-4L26,86.9l2.9,2.9H19.4" +
-            "V80.3l2.9,2.9L38.6,66.8a19,19,0,0,1-4-9.8H12v4.3L5.3,54.5,12,47.9" +
-            "V52H34.6a18.7,18.7,0,0,1,4-9.7L22.3,26l-2.8,2.8V19.2h9.4l-3,3" +
-            "L42.3,38.6a18.7,18.7,0,0,1,9.7-4V12H48.1l6.8-6.7L61.5,12H57" +
-            "V34.6a19,19,0,0,1,9.8,4L83.1,22.3l-2.9-2.9h9.5v9.5" +
-            "L86.9,26,70.6,42.3a18.7,18.7,0,0,1,4,9.7H98V47.9l6.7,6.7Z",
+            fiber_switch: rSquare + fiberStar,
 
             microwave: "M85,71.2c-8.9,10.5-29.6,8.7-45.3-3.5C23.9,55.4,19.8," +
             "37,28.6,26.5C29.9,38.6,71.5,69.9,85,71.2z M92.7,76.2M16.2,15 " +