Add Korean regions topo for Korea Map DEMO

Change-Id: I01b7f43e1735aba44212cd034390b84204a8868e
diff --git a/tools/test/topos/regions-korea.sh b/tools/test/topos/regions-korea.sh
new file mode 100755
index 0000000..513566c
--- /dev/null
+++ b/tools/test/topos/regions-korea.sh
@@ -0,0 +1,215 @@
+#!/bin/bash
+# -----------------------------------------------------------------------------
+# Creates a Korean-based topology (with regions) using ONOS null provider
+# -----------------------------------------------------------------------------
+
+# config
+host=${1:-localhost}
+nports=24
+sleepfor=5
+
+
+### start up null provider
+onos ${host} null-simulation stop custom
+onos ${host} wipe-out please
+onos ${host} null-simulation start custom
+
+
+## unfortunately, it takes a time for the sim to start up
+#  this is not ideal... but we'll live with it for now
+
+echo
+echo "Sleeping while sim starts up... (${sleepfor} seconds)..."
+echo
+sleep ${sleepfor}
+
+
+###------------------------------------------------------
+### Start by adding Country regions
+# Note that Long/Lat places region icon nicely in the country center
+
+# region-add <region-id> <region-name> <region-type> \
+#   <lat/Y> <long/X> <locType> <region-master>
+
+onos ${host} <<-EOF
+
+region-add rGG "Gyeonggi-do"    COUNTRY 37.4138000 127.5183000 geo ${host}
+region-add rGW "Gangwon-do"     COUNTRY 37.8228000 128.1555000 geo ${host}
+region-add rCC "Chungcheng-do"  COUNTRY 36.5622940 126.9541070 geo ${host}
+region-add rJL "Jeolla-do"      COUNTRY 35.3564250 126.9541070 geo ${host}
+region-add rGS "Gyeongsang-do"  COUNTRY 35.8059060 128.9876740 geo ${host}
+region-add rJJ "Jeju-do"        COUNTRY 33.4890110 126.4983020 geo ${host}
+
+EOF
+
+###------------------------------------------------------
+### Add layouts, associating backing regions, and optional parent.
+# layout-add <layout-id> <bg-ref> \
+#   [ <region-id> <parent-layout-id> <scale> <offset-x> <offset-y> ]
+#
+
+onos ${host} <<-EOF
+
+# -- root layout
+layout-add root @s_korea . . 1 0 -10
+
+# -- layouts for top level regions
+layout-add lGG @s_korea rGG root 5.480  -1582.5196  -770.0172
+layout-add lGW @s_korea rGW root 2.606  -1050.3955  -30.8123
+layout-add lCC @s_korea rCC root 3.083  -988.8076   -699.3067
+layout-add lJL @s_korea rJL root 2.747  -705.7564   -1211.7502
+layout-add lGS @s_korea rGS root 3.024  -1737.0638  -1231.4722
+layout-add lJJ @s_korea rJJ root 2.885  -496.0931   -2347.7142
+
+# -- summary of installed layouts
+layouts
+EOF
+
+###------------------------------------------------------
+### Add devices, hosts and links for each of the regions
+
+onos ${host} <<-EOF
+
+# -- GG devices
+
+null-create-device switch Seoul         ${nports} 37.5665350 126.9779690
+null-create-device switch Incheon       ${nports} 37.4562560 126.7052060
+null-create-device switch Suwon         ${nports} 37.2635730 127.0286010
+null-create-device switch Goyang        ${nports} 37.6583600 126.8320200
+null-create-device switch Yongin        ${nports} 37.2410860 127.1775540
+null-create-device switch Seongnam      ${nports} 37.4449170 127.1388680
+
+# -- Assign GG devices to GG region
+
+region-add-devices rGG \
+    null:0000000000000001 \
+    null:0000000000000002 \
+    null:0000000000000003 \
+    null:0000000000000004 \
+    null:0000000000000005 \
+    null:0000000000000006 \
+
+# -- GG connectivity
+
+null-create-link direct Seoul Suwon
+null-create-link direct Seoul Seongnam
+null-create-link direct Incheon Yongin
+null-create-link direct Incheon Goyang
+null-create-link direct Goyang Suwon
+null-create-link direct Seongnam Suwon
+
+# -- GW devices
+
+null-create-device switch Wonju             ${nports} 37.3422190 127.9201620
+null-create-device switch Chuncheon         ${nports} 37.8813150 127.7299710
+null-create-device switch Gangneung         ${nports} 37.7518530 128.8760570
+
+# -- Assign GW devices to GW region
+
+region-add-devices rGW \
+    null:0000000000000007 \
+    null:0000000000000008 \
+    null:0000000000000009 \
+
+# -- GW connectivity
+
+null-create-link direct Wonju Chuncheon
+null-create-link direct Wonju Gangneung
+null-create-link direct Gangneung Chuncheon
+
+# -- CC devices
+
+null-create-device switch Daejeon           ${nports} 36.3504120 127.3845480
+null-create-device switch Cheongju          ${nports} 36.6424340 127.4890320
+null-create-device switch Asan              ${nports} 36.7897960 127.0018490
+null-create-device switch Chungju           ${nports} 36.9910110 127.9259500
+
+# -- Assign CC devices to CC region
+
+region-add-devices rCC \
+    null:000000000000000a \
+    null:000000000000000b \
+    null:000000000000000c \
+    null:000000000000000d \
+
+# -- CC connectivity
+
+null-create-link direct Daejeon Cheongju
+null-create-link direct Daejeon Asan
+null-create-link direct Daejeon Chungju
+null-create-link direct Chungju Cheongju
+null-create-link direct Asan Cheongju
+
+# -- GS devices
+
+null-create-device switch Busan         ${nports} 35.1795540 129.0756420
+null-create-device switch Daegu         ${nports} 35.8714350 128.6014450
+null-create-device switch Ulsan         ${nports} 35.5383770 129.3113600
+null-create-device switch Pohang        ${nports} 36.0190180 129.3434810
+
+# -- Assign GS devices to GS region
+
+region-add-devices rGS \
+    null:000000000000000e \
+    null:000000000000000f \
+    null:0000000000000010 \
+    null:0000000000000011 \
+
+# -- GS connectivity
+
+null-create-link direct Busan Daegu
+null-create-link direct Busan Ulsan
+null-create-link direct Busan Pohang
+null-create-link direct Daegu Pohang
+null-create-link direct Pohang Ulsan
+
+# -- JL devices
+
+null-create-device switch Gwangju       ${nports} 35.1595450 126.8526010
+null-create-device switch Jeonju        ${nports} 35.8242240 127.1479530
+null-create-device switch Iksan         ${nports} 35.9482860 126.9575990
+null-create-device switch Yeosu         ${nports} 34.7603740 127.6622220
+null-create-device switch Suncheon      ${nports} 34.9506370 127.4872140
+
+# -- Assign JL devices to JL region
+
+region-add-devices rJL \
+    null:0000000000000012 \
+    null:0000000000000013 \
+    null:0000000000000014 \
+    null:0000000000000015 \
+    null:0000000000000016 \
+
+# -- JL connectivity
+
+null-create-link direct Gwangju Jeonju
+null-create-link direct Gwangju Iksan
+null-create-link direct Gwangju Yeosu
+null-create-link direct Gwangju Suncheon
+null-create-link direct Yeosu Suncheon
+null-create-link direct Jeonju Iksan
+null-create-link direct Jeonju Yeosu
+
+# -- JJ devices
+
+null-create-device switch Jeju          ${nports} 33.4890110 126.4983020
+null-create-device switch Seogwipo      ${nports} 33.2541210 126.5600760
+
+# -- Assign JJ devices to JJ region
+
+region-add-devices rJJ \
+    null:0000000000000017 \
+    null:0000000000000018 \
+
+# -- JJ connectivity
+
+null-create-link direct Jeju Seogwipo
+
+### Set up debug log messages for classes we care about
+onos ${host} <<-EOF
+log:set DEBUG org.onosproject.ui.impl.topo.Topo2ViewMessageHandler
+log:set DEBUG org.onosproject.ui.impl.topo.Topo2Jsonifier
+log:set DEBUG org.onosproject.ui.impl.UiWebSocket
+log:set DEBUG org.onosproject.ui.impl.UiTopoSession
+log:list
+EOF