GUI -- Added skeleton factories for SVG module.

Change-Id: Iba32faef86d95327fd70bc8fc57a716d543551db
diff --git a/web/gui/src/main/webapp/app/fw/svg/glyph.js b/web/gui/src/main/webapp/app/fw/svg/glyph.js
new file mode 100644
index 0000000..ab540a1
--- /dev/null
+++ b/web/gui/src/main/webapp/app/fw/svg/glyph.js
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ ONOS GUI -- SVG -- Glyph Service
+
+ @author Simon Hunt
+ */
+(function () {
+    'use strict';
+
+    var $log;
+
+    angular.module('onosSvg')
+        .factory('GlyphService', ['$log', function (_$log_) {
+            $log = _$log_;
+
+            return {
+                tbd: function () {}
+            };
+        }]);
+
+}());
diff --git a/web/gui/src/main/webapp/app/fw/svg/icon.js b/web/gui/src/main/webapp/app/fw/svg/icon.js
new file mode 100644
index 0000000..4e1b219
--- /dev/null
+++ b/web/gui/src/main/webapp/app/fw/svg/icon.js
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ ONOS GUI -- SVG -- Icon Service
+
+ @author Simon Hunt
+ */
+(function () {
+    'use strict';
+
+    var $log;
+
+    angular.module('onosSvg')
+        .factory('IconService', ['$log', function (_$log_) {
+            $log = _$log_;
+
+            return {
+                tbd: function () {}
+            };
+        }]);
+
+}());
diff --git a/web/gui/src/main/webapp/app/fw/svg/map.js b/web/gui/src/main/webapp/app/fw/svg/map.js
new file mode 100644
index 0000000..0b3088d
--- /dev/null
+++ b/web/gui/src/main/webapp/app/fw/svg/map.js
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ ONOS GUI -- SVG -- Map Service
+
+ @author Simon Hunt
+ */
+(function () {
+    'use strict';
+
+    var $log;
+
+    angular.module('onosSvg')
+        .factory('MapService', ['$log', function (_$log_) {
+            $log = _$log_;
+
+            return {
+                tbd: function () {}
+            };
+        }]);
+
+}());
diff --git a/web/gui/src/main/webapp/app/fw/svg/svg.js b/web/gui/src/main/webapp/app/fw/svg/svg.js
new file mode 100644
index 0000000..9f8351b
--- /dev/null
+++ b/web/gui/src/main/webapp/app/fw/svg/svg.js
@@ -0,0 +1,27 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ ONOS GUI -- Scalable Vector Graphics Module
+
+ @author Simon Hunt
+ */
+(function () {
+    'use strict';
+
+    angular.module('onosSvg', []);
+
+}());
diff --git a/web/gui/src/main/webapp/app/fw/svg/zoom.js b/web/gui/src/main/webapp/app/fw/svg/zoom.js
new file mode 100644
index 0000000..2dc5236
--- /dev/null
+++ b/web/gui/src/main/webapp/app/fw/svg/zoom.js
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ ONOS GUI -- SVG -- Zoom Service
+
+ @author Simon Hunt
+ */
+(function () {
+    'use strict';
+
+    var $log;
+
+    angular.module('onosSvg')
+        .factory('ZoomService', ['$log', function (_$log_) {
+            $log = _$log_;
+
+            return {
+                tbd: function () {}
+            };
+        }]);
+
+}());
diff --git a/web/gui/src/main/webapp/tests/app/fw/svg/glyph-spec.js b/web/gui/src/main/webapp/tests/app/fw/svg/glyph-spec.js
new file mode 100644
index 0000000..568a05b
--- /dev/null
+++ b/web/gui/src/main/webapp/tests/app/fw/svg/glyph-spec.js
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ ONOS GUI -- SVG -- Glyph Service - Unit Tests
+
+ @author Simon Hunt
+ */
+describe('factory: fw/svg/glyph.js', function() {
+    var gs;
+
+    beforeEach(module('onosSvg'));
+
+    beforeEach(inject(function (GlyphService) {
+        gs = GlyphService;
+    }));
+
+    it('should define GlyphService', function () {
+        expect(gs).toBeDefined();
+    });
+
+    // TODO: unit tests for glyph functions
+});
diff --git a/web/gui/src/main/webapp/tests/app/fw/svg/icon-spec.js b/web/gui/src/main/webapp/tests/app/fw/svg/icon-spec.js
new file mode 100644
index 0000000..8823df6
--- /dev/null
+++ b/web/gui/src/main/webapp/tests/app/fw/svg/icon-spec.js
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ ONOS GUI -- SVG -- Icon Service - Unit Tests
+
+ @author Simon Hunt
+ */
+describe('factory: fw/svg/icon.js', function() {
+    var is;
+
+    beforeEach(module('onosSvg'));
+
+    beforeEach(inject(function (IconService) {
+        is = IconService;
+    }));
+
+    it('should define IconService', function () {
+        expect(is).toBeDefined();
+    });
+
+    // TODO: unit tests for icon functions
+});
diff --git a/web/gui/src/main/webapp/tests/app/fw/svg/map-spec.js b/web/gui/src/main/webapp/tests/app/fw/svg/map-spec.js
new file mode 100644
index 0000000..2822bb9
--- /dev/null
+++ b/web/gui/src/main/webapp/tests/app/fw/svg/map-spec.js
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ ONOS GUI -- SVG -- Map Service - Unit Tests
+
+ @author Simon Hunt
+ */
+describe('factory: fw/svg/map.js', function() {
+    var ms;
+
+    beforeEach(module('onosSvg'));
+
+    beforeEach(inject(function (MapService) {
+        ms = MapService;
+    }));
+
+    it('should define MapService', function () {
+        expect(ms).toBeDefined();
+    });
+
+    // TODO: unit tests for map functions
+});
diff --git a/web/gui/src/main/webapp/tests/app/fw/svg/zoom-spec.js b/web/gui/src/main/webapp/tests/app/fw/svg/zoom-spec.js
new file mode 100644
index 0000000..0346f19
--- /dev/null
+++ b/web/gui/src/main/webapp/tests/app/fw/svg/zoom-spec.js
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ ONOS GUI -- SVG -- Zoom Service - Unit Tests
+
+ @author Simon Hunt
+ */
+describe('factory: fw/svg/zoom.js', function() {
+    var zs;
+
+    beforeEach(module('onosSvg'));
+
+    beforeEach(inject(function (ZoomService) {
+        zs = ZoomService;
+    }));
+
+    it('should define ZoomService', function () {
+        expect(zs).toBeDefined();
+    });
+
+    // TODO: unit tests for map functions
+});
diff --git a/web/gui/src/main/webapp/tests/karma.conf.js b/web/gui/src/main/webapp/tests/karma.conf.js
index d4df6ab..56b8607 100644
--- a/web/gui/src/main/webapp/tests/karma.conf.js
+++ b/web/gui/src/main/webapp/tests/karma.conf.js
@@ -27,6 +27,7 @@
         // make sure modules are defined first...
         '../app/onos.js',
         '../app/fw/util/util.js',
+        '../app/fw/svg/svg.js',
         // now load services etc. that augment the modules
         '../app/**/*.js',