Remove obsolete harness code (TopoX)
Change-Id: Icf4c8fe0f29e90bccd8ca0d58e3b1245ce383d9e
diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/UiExtensionManager.java b/web/gui/src/main/java/org/onosproject/ui/impl/UiExtensionManager.java
index 0d511a3..254e807 100644
--- a/web/gui/src/main/java/org/onosproject/ui/impl/UiExtensionManager.java
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/UiExtensionManager.java
@@ -136,7 +136,6 @@
// FIXME: leave commented out for now, while still under development
// (remember to also comment out inclusions in index.html)
// new UiView(NETWORK, "topo2", "New-Topo"),
-// new UiView(NETWORK, "topoX", "Topo-X"),
new UiView(NETWORK, "device", "Devices", "nav_devs"),
new UiViewHidden("flow"),
diff --git a/web/gui/src/main/webapp/app/view/topoX/topoX-theme.css b/web/gui/src/main/webapp/app/view/topoX/topoX-theme.css
deleted file mode 100644
index af95a40..0000000
--- a/web/gui/src/main/webapp/app/view/topoX/topoX-theme.css
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright 2016-present 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.
- */
-
-/*
- * Copyright 2016-present 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 -- Topology View (theme) -- CSS file
- */
-
-/* --- Base SVG Layer --- */
-
-#ov-topoX svg {
- /*background-color: #f4f4f4;*/
- background-color: goldenrod; /* just for testing */
-}
-
-/* --- "No Devices" Layer --- */
-
-#ov-topoX svg .noDevsBird {
- fill: #db7773;
-}
-
-#ov-topoX svg #topoX-noDevsLayer text {
- fill: #7e9aa8;
-}
-
-/* --- Topo Map --- */
-
-#ov-topoX svg #topoX-map {
- stroke-width: 2px;
- stroke: #f4f4f4;
- fill: #e5e5e6;
-}
-
diff --git a/web/gui/src/main/webapp/app/view/topoX/topoX.css b/web/gui/src/main/webapp/app/view/topoX/topoX.css
deleted file mode 100644
index 938e03d..0000000
--- a/web/gui/src/main/webapp/app/view/topoX/topoX.css
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright 2016-present 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 -- Topology View (test layout) -- CSS file
- */
-
-/* --- Base SVG Layer --- */
-
-#ov-topoX svg {
- /* prevents the little cut/copy/paste square that would appear on iPad */
- -webkit-user-select: none;
-}
-
-#topoXtmp {
- height: 700px;
- width: 98%;
- overflow-y: scroll;
-}
-
-#topoXtmp div {
- padding: 2px 24px;
- margin: 6px;
- background-color: #ddddff;
-}
-#topoXtmp div div {
- padding: 0 10px;
-}
-#topoXtmp div div span {
- color: purple;
- font-style: italic;
- font-weight: bold;
-}
-
-#topoXtmp h4 {
- margin: 0
-}
-#topoXtmp p {
- margin: 0
-}
-#topoXtmp .nav-me:hover {
- background-color: #bbbbdd;
-}
-#topoXtmp .nav-me {
- font-weight: bold;
- text-decoration: underline;
- cursor: pointer;
- color: blue;
-}
-
-.subRegions div p {
- width: 40px;
-}
diff --git a/web/gui/src/main/webapp/app/view/topoX/topoX.html b/web/gui/src/main/webapp/app/view/topoX/topoX.html
deleted file mode 100644
index 472f571..0000000
--- a/web/gui/src/main/webapp/app/view/topoX/topoX.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!-- Topology View partial HTML -->
-<div id="ov-topoX">
- <div id="topoXtmp">
- <div class="instances">
- <h4>Instances</h4>
- <div></div>
- </div>
- <div class="layoutData">
-
- <h4>Layout Data</h4>
-
- <div class="l_id">
- Layout ID: <span> - </span>
- </div>
- <div class="l_parent">
- Layout Parent: <span> - </span>
- </div>
- <div class="l_region">
- Region ID: <span> - </span>
- </div>
- <div class="l_regionName">
- Region Name: <span> - </span>
- </div>
- <div class="l_crumbs">
- Breadcrumbs: <span> </span>
- </div>
-
- </div>
- <div class="thisRegion">
- <b>This Region ID:</b> <span></span>
- </div>
- <div class="subRegions">
- <h4>Subregions</h4>
- <div></div>
- </div>
- <div class="devices">
- <h4>Devices</h4>
- <div></div>
- </div>
- <div class="hosts">
- <h4>Hosts</h4>
- <div></div>
- </div>
- <div class="links">
- <h4>Links</h4>
- <div></div>
- </div>
- <div class="peers">
- <h4>Peers</h4>
- <div></div>
- </div>
- </div>
-</div>
diff --git a/web/gui/src/main/webapp/app/view/topoX/topoX.js b/web/gui/src/main/webapp/app/view/topoX/topoX.js
deleted file mode 100644
index 88114c8..0000000
--- a/web/gui/src/main/webapp/app/view/topoX/topoX.js
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * Copyright 2016-present 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.
- */
-
-/*
- * Copyright 2016-present 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 -- Topology View Module
-
- NOTE: currently under development to support Regions.
- */
-
-(function () {
- 'use strict';
-
- // references to injected services
- var $scope, $log, $loc,
- fs, mast, ks, zs,
- gs, ms, sus, flash,
- wss, ps, th,
- tXes, tXfs;
-
- // DOM elements
- var ovtopoX, svg, defs, zoomLayer, mapG, spriteG, forceG, noDevsLayer;
-
- // Internal state
- var zoomer, actionMap;
-
-
- // === Helper Functions
-
- // callback invoked when the SVG view has been resized..
- function svgResized(s) {
- $log.debug("topoX view resized", s);
- }
-
- function setUpKeys(overlayKeys) {
- $log.debug('topoX: set up keys....');
- }
-
- // === Controller Definition -----------------------------------------
-
- angular.module('ovTopoX', ['onosUtil', 'onosSvg', 'onosRemote'])
- .controller('OvTopoXCtrl',
- ['$scope', '$log', '$location',
- 'FnService', 'MastService', 'KeyService', 'ZoomService',
- 'GlyphService', 'MapService', 'SvgUtilService', 'FlashService',
- 'WebSocketService', 'PrefsService', 'ThemeService',
- 'TopoXEventService', 'TopoXForceService',
-
- function (_$scope_, _$log_, _$loc_,
- _fs_, _mast_, _ks_, _zs_,
- _gs_, _ms_, _sus_, _flash_,
- _wss_, _ps_, _th_,
- _tXes_, _tXfs_) {
-
- var params = _$loc_.search(),
- projection,
- dim,
- wh,
- uplink = {
- // provides function calls back into this space
- // showNoDevs: showNoDevs,
- // projection: function () { return projection; },
- // zoomLayer: function () { return zoomLayer; },
- // zoomer: function () { return zoomer; },
- // opacifyMap: opacifyMap,
- // topoStartDone: topoStartDone
- };
-
- $scope = _$scope_;
- $log = _$log_;
- $loc = _$loc_;
-
- fs = _fs_;
- mast = _mast_;
- ks = _ks_;
- zs = _zs_;
-
- gs = _gs_;
- ms = _ms_;
- sus = _sus_;
- flash = _flash_;
-
- wss = _wss_;
- ps = _ps_;
- th = _th_;
-
- tXes = _tXes_;
- tXfs = _tXfs_;
-
- // capture selected intent parameters (if they are set in the
- // query string) so that the traffic overlay can highlight
- // the path for that intent
- if (params.intentKey && params.intentAppId && params.intentAppName) {
- $scope.intentData = {
- key: params.intentKey,
- appId: params.intentAppId,
- appName: params.intentAppName
- };
- }
-
- $scope.notifyResize = function () {
- svgResized(fs.windowSize(mast.mastHeight()));
- };
-
- // Cleanup on destroyed scope..
- $scope.$on('$destroy', function () {
- $log.log('OvTopoXCtrl is saying Buh-Bye!');
- tXes.stop();
- ks.unbindKeys();
- tXfs.destroy();
- });
-
- // svg layer and initialization of components
- ovtopoX = d3.select('#ov-topoX');
- svg = ovtopoX.select('svg');
- // set the svg size to match that of the window, less the masthead
- wh = fs.windowSize(mast.mastHeight());
- $log.debug('setting topo SVG size to', wh);
- svg.attr(wh);
- dim = [wh.width, wh.height];
-
-
- // set up our keyboard shortcut bindings
- setUpKeys();
-
- // make sure we can respond to topology events from the server
- tXes.bindHandlers();
-
- // initialize the force layout, ready to render the topology
- tXfs.init();
-
-
- // =-=-=-=-=-=-=-=-
- // TODO: in future, we will load background map data
- // asynchronously (hence the promise) and then chain off
- // there to send the topoXstart event to the server.
- // For now, we'll send the event inline...
- tXes.start();
-
-
- // === ORIGINAL CODE ===
-
- // setUpKeys();
- // setUpToolbar();
- // setUpDefs();
- // setUpZoom();
- // setUpNoDevs();
- /*
- setUpMap().then(
- function (proj) {
- var z = ps.getPrefs('topo_zoom', { tx:0, ty:0, sc:1 });
- zoomer.panZoom([z.tx, z.ty], z.sc);
- $log.debug('** Zoom restored:', z);
-
- projection = proj;
- $log.debug('** We installed the projection:', proj);
- flash.enable(false);
- toggleMap(prefsState.bg);
- flash.enable(true);
- mapShader(true);
-
- // now we have the map projection, we are ready for
- // the server to send us device/host data...
- tes.start();
- // need to do the following so we immediately get
- // the summary panel data back from the server
- restoreSummaryFromPrefs();
- }
- );
- */
- // tes.bindHandlers();
- // setUpSprites();
-
- // forceG = zoomLayer.append('g').attr('id', 'topo-force');
- // tfs.initForce(svg, forceG, uplink, dim);
- // tis.initInst({ showMastership: tfs.showMastership });
- // tps.initPanels();
-
- // restoreConfigFromPrefs();
- // ttbs.setDefaultOverlay(prefsState.ovidx);
-
- // $log.debug('registered overlays...', tov.list());
-
- $log.log('OvTopoXCtrl has been created');
- }]);
-}());
diff --git a/web/gui/src/main/webapp/app/view/topoX/topoXEvent.js b/web/gui/src/main/webapp/app/view/topoX/topoXEvent.js
deleted file mode 100644
index a9f7a99..0000000
--- a/web/gui/src/main/webapp/app/view/topoX/topoXEvent.js
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright 2016-present 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 -- Topology Event Module.
-
- Defines the conduit between the client and the server:
- - provides a clean API for sending events to the server
- - dispatches incoming events from the server to the appropriate sub-module
-
- */
-
-(function () {
- 'use strict';
-
- // injected refs
- var $log, wss, tXfs;
-
- // internal state
- var handlerMap,
- openListener;
-
- // ========================== Helper Functions
-
- function createHandlerMap() {
- handlerMap = {
- topo2AllInstances: tXfs,
- topo2CurrentLayout: tXfs,
- topo2CurrentRegion: tXfs,
- topo2PeerRegions: tXfs,
- topo2StartDone: tXfs
-
- // Add further event names / module references as needed
- };
- }
-
- function wsOpen(host, url) {
- $log.debug('topoXEvent: WSopen - cluster node:', host, 'URL:', url);
- // tell the server we are ready to receive topo events
- wss.sendEvent('topo2Start');
- }
-
- // bind our event handlers to the web socket service, so that our
- // callbacks get invoked for incoming events
- function bindHandlers() {
- wss.bindHandlers(handlerMap);
- $log.debug('topoX event handlers bound');
- }
-
- // tell the server we are ready to receive topology events
- function start() {
- // in case we fail over to a new server,
- // listen for wsock-open events
- openListener = wss.addOpenListener(wsOpen);
- wss.sendEvent('topo2Start');
- $log.debug('topoX comms started');
- }
-
- // tell the server we no longer wish to receive topology events
- function stop() {
- wss.sendEvent('topo2Stop');
- wss.unbindHandlers(handlerMap);
- wss.removeOpenListener(openListener);
- openListener = null;
- $log.debug('topoX comms stopped');
- }
-
- // ========================== Main Service Definition
-
- angular.module('ovTopoX')
- .factory('TopoXEventService',
- ['$log', 'WebSocketService', 'TopoXForceService',
-
- function (_$log_, _wss_, _tXfs_) {
- $log = _$log_;
- wss = _wss_;
- tXfs = _tXfs_;
-
- // deferred creation of handler map, so module references are good
- createHandlerMap();
-
- return {
- bindHandlers: bindHandlers,
- start: start,
- stop: stop
- };
- }]);
-}());
diff --git a/web/gui/src/main/webapp/app/view/topoX/topoXForce.js b/web/gui/src/main/webapp/app/view/topoX/topoXForce.js
deleted file mode 100644
index 3f51509..0000000
--- a/web/gui/src/main/webapp/app/view/topoX/topoXForce.js
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- * Copyright 2016-present 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 -- Topology Force Module.
- Visualization of the topology in an SVG layer, using a D3 Force Layout.
- */
-
-(function () {
- 'use strict';
-
- // injected refs
- var $log, wss;
-
- // selected DOM refs
- var topdiv;
-
- // ========================== Helper Functions
-
- function init() {
- topdiv = d3.select('#topoXtmp');
- $log.debug('Initialize topo force layout');
- }
-
- function destroy() {
- $log.debug('Destroy topo force layout');
- }
-
- function rmP(div) {
- div.selectAll('p').remove();
- }
-
- function navRequest(rid) {
- wss.sendEvent('topo2navRegion', {
- rid: rid
- });
- }
-
- function doTmpInstances(data) {
- var idiv = topdiv.select('.instances').select('div');
- data.members.forEach(function (m) {
- idiv.append('div').text(m.id);
- });
- }
-
- function doTmpCurrentLayout(data) {
- var ldDiv = topdiv.select('.layoutData'),
- bcs = ldDiv.select('.l_crumbs');
-
- function setSpan(v, val) {
- var cls = '.l_' + v,
- span = ldDiv.select(cls).select('span'),
- value = val || data[v];
- span.html(value);
- }
-
- setSpan('id');
- setSpan('parent');
- setSpan('region');
- setSpan('regionName');
-
- addCrumbNav(bcs, data.crumbs, data.region);
- }
-
- function addCrumbNav(span, array, id) {
- var rev = [];
-
- span.selectAll('span').remove();
-
- array.forEach(function (a) {
- rev.unshift(a.id);
- });
-
- rev.forEach(function (rid, idx) {
- if (idx) {
- span.append('span').text(' +++ ');
- }
- if (rid != id) {
- addNavigable(span, 'span', rid);
- } else {
- span.append('span').text(rid);
- }
- });
- }
-
- function addNavigable(span, what, rid) {
- span.append(what).classed('nav-me', true)
- .text(rid)
- .on('click', function () { navRequest(rid); });
- }
-
- function doTmpCurrentRegion(data) {
- var span = topdiv.select('.thisRegion').select('span');
- var div;
- span.text(data.id);
-
- div = topdiv.select('.subRegions').select('div');
- rmP(div);
- data.subregions.forEach(function (r) {
- addNavigable(div, 'p', r.id);
- });
-
- div = topdiv.select('.devices').select('div');
- rmP(div);
- data.layerOrder.forEach(function (tag, idx) {
- var devs = data.devices[idx];
- devs.forEach(function (d) {
- div.append('p')
- .text('[' + tag + '] ' + d.id);
- });
-
- });
-
- div = topdiv.select('.hosts').select('div');
- rmP(div);
- data.layerOrder.forEach(function (tag, idx) {
- var hosts = data.hosts[idx];
- hosts.forEach(function (h) {
- div.append('p')
- .text('[' + tag + '] ' + h.id);
- });
- });
-
- div = topdiv.select('.links').select('div');
- rmP(div);
- data.links.forEach(function (lnk) {
- div.append('p')
- .text(lnk.id);
- });
- }
-
- function doTmpPeerRegions(data) {
- var peerDiv = topdiv.select('.peers').select('div');
- rmP(peerDiv);
-
- function logPeer(p) {
- var o = peerDiv.append('p'),
- id = p.id,
- nt = p.nodeType;
- o.text('[' + nt + '] id = ' + id);
- }
-
- data.peers.forEach(function (p) {
- logPeer(p);
- });
- }
-
- // ========================== Event Handlers
-
- function allInstances(data) {
- $log.debug('>> topo2AllInstances event:', data);
- doTmpInstances(data);
- }
-
- function currentLayout(data) {
- $log.debug('>> topo2CurrentLayout event:', data);
- doTmpCurrentLayout(data);
- }
-
- function currentRegion(data) {
- $log.debug('>> topo2CurrentRegion event:', data);
- doTmpCurrentRegion(data);
- }
-
- function peerRegions(data) {
- $log.debug('>> topo2PeerRegions event:', data);
- doTmpPeerRegions(data);
- }
-
- function startDone(data) {
- $log.debug('>> topo2StartDone event:', data);
- }
-
- // ========================== Main Service Definition
-
- angular.module('ovTopoX')
- .factory('TopoXForceService',
- ['$log', 'WebSocketService',
-
- function (_$log_, _wss_) {
- $log = _$log_;
- wss = _wss_;
-
- return {
- init: init,
- destroy: destroy,
- topo2AllInstances: allInstances,
- topo2CurrentLayout: currentLayout,
- topo2CurrentRegion: currentRegion,
- topo2PeerRegions: peerRegions,
- topo2StartDone: startDone
- };
- }]);
-}());
diff --git a/web/gui/src/main/webapp/index.html b/web/gui/src/main/webapp/index.html
index a3b47ca..c33e5cf 100644
--- a/web/gui/src/main/webapp/index.html
+++ b/web/gui/src/main/webapp/index.html
@@ -167,11 +167,6 @@
<link rel="stylesheet" href="app/view/topo2/topo2.css">
<link rel="stylesheet" href="app/view/topo2/topo2-theme.css">-->
- <!-- <script src="app/view/topoX/topoX.js"></script>
- <script src="app/view/topoX/topoXEvent.js"></script>
- <script src="app/view/topoX/topoXForce.js"></script>
- <link rel="stylesheet" href="app/view/topoX/topoX.css">
- <link rel="stylesheet" href="app/view/topoX/topoX-theme.css">-->
<!-- Builtin views javascript. -->
<script src="app/view/topo/topo.js"></script>