Adding topology overlay support for the server-side topo layout app.
Also:
- parametrized access network layout in preparation for multiple variants
- removed WS authentication code temporarily until proper forced-logout is implemented
- updated STC warden environment (test only)
Change-Id: I0adbe60737828db79350e7eb2fc72cf313b78a28
diff --git a/apps/layout/src/main/resources/app/view/tlTopov/tlTopov.css b/apps/layout/src/main/resources/app/view/tlTopov/tlTopov.css
new file mode 100644
index 0000000..8aa18f6
--- /dev/null
+++ b/apps/layout/src/main/resources/app/view/tlTopov/tlTopov.css
@@ -0,0 +1,2 @@
+/* css for layout topology overlay */
+
diff --git a/apps/layout/src/main/resources/app/view/tlTopov/tlTopov.html b/apps/layout/src/main/resources/app/view/tlTopov/tlTopov.html
new file mode 100644
index 0000000..1f76225
--- /dev/null
+++ b/apps/layout/src/main/resources/app/view/tlTopov/tlTopov.html
@@ -0,0 +1,4 @@
+<!-- partial HTML -->
+<div id="ov-tl-topov">
+ <p>This is a hidden view .. just a placeholder to house the javascript</p>
+</div>
diff --git a/apps/layout/src/main/resources/app/view/tlTopov/tlTopov.js b/apps/layout/src/main/resources/app/view/tlTopov/tlTopov.js
new file mode 100644
index 0000000..729d117
--- /dev/null
+++ b/apps/layout/src/main/resources/app/view/tlTopov/tlTopov.js
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2015-present Open Networking Foundation
+ *
+ * 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.
+ */
+
+/*
+ Module containing the "business logic" for the layout topology overlay.
+ */
+
+(function () {
+ 'use strict';
+
+ // injected refs
+ var $log, flash, wss;
+
+ function doLayout(type, description) {
+ flash.flash(description);
+ wss.sendEvent('doLayout', {
+ type: type
+ });
+ }
+
+ angular.module('ovTlTopov', [])
+ .factory('LayoutTopovService',
+ ['$log', 'FlashService', 'WebSocketService',
+
+ function (_$log_, _flash_, _wss_) {
+ $log = _$log_;
+ flash = _flash_;
+ wss = _wss_;
+
+ return {
+ doLayout: doLayout
+ };
+ }]);
+}());
diff --git a/apps/layout/src/main/resources/app/view/tlTopov/tlTopovOverlay.js b/apps/layout/src/main/resources/app/view/tlTopov/tlTopovOverlay.js
new file mode 100644
index 0000000..aba7d14
--- /dev/null
+++ b/apps/layout/src/main/resources/app/view/tlTopov/tlTopovOverlay.js
@@ -0,0 +1,58 @@
+// path painter topology overlay - client side
+//
+// This is the glue that binds our business logic (in ppTopov.js)
+// to the overlay framework.
+
+(function () {
+ 'use strict';
+
+ // injected refs
+ var $log, tov, lts;
+
+ // our overlay definition
+ var overlay = {
+ overlayId: 'tl-overlay',
+ glyphId: 'm_disjointPaths',
+ tooltip: 'Algorithmic Layout Overlay',
+
+ activate: function () {
+ $log.debug("Layout topology overlay ACTIVATED");
+ },
+ deactivate: function () {
+ lts.clear();
+ $log.debug("Layout topology overlay DEACTIVATED");
+ },
+
+ keyBindings: {
+ 0: {
+ cb: function () {
+ lts.doLayout('default', 'Default (force-based) Layout');
+ },
+ tt: 'Default (force-based) layout',
+ gid: 'm_fiberSwitch'
+ },
+ 1: {
+ cb: function () {
+ lts.doLayout('access', 'Access Network Layout - separate service leafs');
+ },
+ tt: 'Access layout - separate service leafs',
+ gid: 'm_disjointPaths'
+ },
+
+ _keyOrder: [
+ '0', '1'
+ ]
+ }
+ };
+
+ // invoke code to register with the overlay service
+ angular.module('ovTlTopov')
+ .run(['$log', 'TopoOverlayService', 'LayoutTopovService',
+
+ function (_$log_, _tov_, _lts_) {
+ $log = _$log_;
+ tov = _tov_;
+ lts = _lts_;
+ tov.register(overlay);
+ }]);
+}());