summaryrefslogtreecommitdiffstats
path: root/framework/src/onos/tools/package/archetypes/uitopo
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/tools/package/archetypes/uitopo')
-rw-r--r--framework/src/onos/tools/package/archetypes/uitopo/pom.xml31
-rw-r--r--framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/META-INF/maven/archetype-metadata.xml39
-rw-r--r--framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/pom.xml140
-rw-r--r--framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/AppUiTopovComponent.java89
-rw-r--r--framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/AppUiTopovMessageHandler.java337
-rw-r--r--framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/AppUiTopovOverlay.java82
-rw-r--r--framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/DemoLink.java57
-rw-r--r--framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/DemoLinkMap.java33
-rw-r--r--framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTopov/sampleTopov.css2
-rw-r--r--framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTopov/sampleTopov.html4
-rw-r--r--framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTopov/sampleTopovDemo.js104
-rw-r--r--framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTopov/sampleTopovOverlay.js143
-rw-r--r--framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/sampleTopov/css.html1
-rw-r--r--framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/sampleTopov/js.html2
-rw-r--r--framework/src/onos/tools/package/archetypes/uitopo/src/test/resources/projects/basic/archetype.properties21
-rw-r--r--framework/src/onos/tools/package/archetypes/uitopo/src/test/resources/projects/basic/goal.txt0
16 files changed, 0 insertions, 1085 deletions
diff --git a/framework/src/onos/tools/package/archetypes/uitopo/pom.xml b/framework/src/onos/tools/package/archetypes/uitopo/pom.xml
deleted file mode 100644
index b03c325d..00000000
--- a/framework/src/onos/tools/package/archetypes/uitopo/pom.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ~ 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.
- -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.onosproject</groupId>
- <artifactId>onos-archetypes</artifactId>
- <version>1.4.0-rc1</version>
- </parent>
-
- <artifactId>onos-uitopo-archetype</artifactId>
- <packaging>maven-archetype</packaging>
-
- <description>ONOS UI Topology-Overlay overlay archetype</description>
-
-</project>
diff --git a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/META-INF/maven/archetype-metadata.xml b/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/META-INF/maven/archetype-metadata.xml
deleted file mode 100644
index 26a9082d..00000000
--- a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/META-INF/maven/archetype-metadata.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
- ~ 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.
- -->
-<archetype-descriptor
- xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0 http://maven.apache.org/xsd/archetype-descriptor-1.0.0.xsd"
- name="onos-uitopo" partial="true"
- xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <fileSets>
- <fileSet filtered="true" packaged="true" encoding="UTF-8">
- <directory>src/main/java</directory>
- <includes>
- <include>**/*.java</include>
- </includes>
- </fileSet>
- <fileSet filtered="true" packaged="false" encoding="UTF-8">
- <directory>src/main/resources</directory>
- <includes>
- <include>**/*.html</include>
- <include>**/*.js</include>
- <include>**/*.css</include>
- </includes>
- </fileSet>
- </fileSets>
-</archetype-descriptor>
diff --git a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/pom.xml b/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/pom.xml
deleted file mode 100644
index 2c97cf48..00000000
--- a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/pom.xml
+++ /dev/null
@@ -1,140 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
- ~ 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.
- -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <groupId>${groupId}</groupId>
- <artifactId>${artifactId}</artifactId>
- <version>${version}</version>
- <packaging>bundle</packaging>
-
- <description>ONOS OSGi UI Topology-Overlay bundle archetype</description>
- <url>http://onosproject.org</url>
-
- <properties>
- <onos.version>1.4.0-rc1</onos.version>
- <!-- Uncomment to generate ONOS app from this module.
- <onos.app.name>org.foo.app</onos.app.name>
- <onos.app.origin>Foo, Inc.</onos.app.origin>
- -->
- </properties>
-
- <dependencies>
- <dependency>
- <groupId>org.onosproject</groupId>
- <artifactId>onos-api</artifactId>
- <version>${onos.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.onosproject</groupId>
- <artifactId>onlab-osgi</artifactId>
- <version>${onos.version}</version>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.11</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.onosproject</groupId>
- <artifactId>onos-api</artifactId>
- <version>${onos.version}</version>
- <scope>test</scope>
- <classifier>tests</classifier>
- </dependency>
-
- <dependency>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.scr.annotations</artifactId>
- <version>1.9.8</version>
- <scope>provided</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <version>2.5.3</version>
- <extensions>true</extensions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>2.5.1</version>
- <configuration>
- <source>1.8</source>
- <target>1.8</target>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-scr-plugin</artifactId>
- <version>1.20.0</version>
- <executions>
- <execution>
- <id>generate-scr-srcdescriptor</id>
- <goals>
- <goal>scr</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <supportedProjectTypes>
- <supportedProjectType>bundle</supportedProjectType>
- <supportedProjectType>war</supportedProjectType>
- </supportedProjectTypes>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.onosproject</groupId>
- <artifactId>onos-maven-plugin</artifactId>
- <version>1.5</version>
- <executions>
- <execution>
- <id>cfg</id>
- <phase>generate-resources</phase>
- <goals>
- <goal>cfg</goal>
- </goals>
- </execution>
- <execution>
- <id>swagger</id>
- <phase>generate-sources</phase>
- <goals>
- <goal>swagger</goal>
- </goals>
- </execution>
- <execution>
- <id>app</id>
- <phase>package</phase>
- <goals>
- <goal>app</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/AppUiTopovComponent.java b/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/AppUiTopovComponent.java
deleted file mode 100644
index fa62a784..00000000
--- a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/AppUiTopovComponent.java
+++ /dev/null
@@ -1,89 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- * Copyright 2014,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.
- */
-package ${package};
-
-import com.google.common.collect.ImmutableList;
-import org.apache.felix.scr.annotations.Activate;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Deactivate;
-import org.apache.felix.scr.annotations.Reference;
-import org.apache.felix.scr.annotations.ReferenceCardinality;
-import org.onosproject.ui.UiExtension;
-import org.onosproject.ui.UiExtensionService;
-import org.onosproject.ui.UiMessageHandlerFactory;
-import org.onosproject.ui.UiTopoOverlayFactory;
-import org.onosproject.ui.UiView;
-import org.onosproject.ui.UiViewHidden;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.List;
-
-/**
- * Skeletal ONOS UI Topology-Overlay application component.
- */
-@Component(immediate = true)
-public class AppUiTopovComponent {
-
- private static final ClassLoader CL = AppUiTopovComponent.class.getClassLoader();
- private static final String VIEW_ID = "sampleTopov";
-
- private final Logger log = LoggerFactory.getLogger(getClass());
-
- @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
- protected UiExtensionService uiExtensionService;
-
- // List of application views
- private final List<UiView> uiViews = ImmutableList.of(
- new UiViewHidden(VIEW_ID)
- );
-
- // Factory for UI message handlers
- private final UiMessageHandlerFactory messageHandlerFactory =
- () -> ImmutableList.of(
- new AppUiTopovMessageHandler()
- );
-
- // Factory for UI topology overlays
- private final UiTopoOverlayFactory topoOverlayFactory =
- () -> ImmutableList.of(
- new AppUiTopovOverlay()
- );
-
- // Application UI extension
- protected UiExtension extension =
- new UiExtension.Builder(CL, uiViews)
- .resourcePath(VIEW_ID)
- .messageHandlerFactory(messageHandlerFactory)
- .topoOverlayFactory(topoOverlayFactory)
- .build();
-
- @Activate
- protected void activate() {
- uiExtensionService.register(extension);
- log.info("Started");
- }
-
- @Deactivate
- protected void deactivate() {
- uiExtensionService.unregister(extension);
- log.info("Stopped");
- }
-
-}
diff --git a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/AppUiTopovMessageHandler.java b/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/AppUiTopovMessageHandler.java
deleted file mode 100644
index 65e3489f..00000000
--- a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/AppUiTopovMessageHandler.java
+++ /dev/null
@@ -1,337 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- * Copyright 2014,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.
- */
-package ${package};
-
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.google.common.base.Strings;
-import com.google.common.collect.ImmutableSet;
-import org.onlab.osgi.ServiceDirectory;
-import org.onosproject.net.Device;
-import org.onosproject.net.DeviceId;
-import org.onosproject.net.Element;
-import org.onosproject.net.HostId;
-import org.onosproject.net.Link;
-import org.onosproject.net.device.DeviceService;
-import org.onosproject.net.host.HostService;
-import org.onosproject.net.link.LinkService;
-import org.onosproject.ui.RequestHandler;
-import org.onosproject.ui.UiConnection;
-import org.onosproject.ui.UiMessageHandler;
-import org.onosproject.ui.topo.DeviceHighlight;
-import org.onosproject.ui.topo.Highlights;
-import org.onosproject.ui.topo.NodeBadge;
-import org.onosproject.ui.topo.NodeBadge.Status;
-import org.onosproject.ui.topo.TopoJson;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.Timer;
-import java.util.TimerTask;
-
-/**
- * Skeletal ONOS UI Topology-Overlay message handler.
- */
-public class AppUiTopovMessageHandler extends UiMessageHandler {
-
- private static final String SAMPLE_TOPOV_DISPLAY_START = "sampleTopovDisplayStart";
- private static final String SAMPLE_TOPOV_DISPLAY_UPDATE = "sampleTopovDisplayUpdate";
- private static final String SAMPLE_TOPOV_DISPLAY_STOP = "sampleTopovDisplayStop";
-
- private static final String ID = "id";
- private static final String MODE = "mode";
-
- private static final long UPDATE_PERIOD_MS = 1000;
-
- private static final Link[] EMPTY_LINK_SET = new Link[0];
-
- private enum Mode { IDLE, MOUSE, LINK }
-
- private final Logger log = LoggerFactory.getLogger(getClass());
-
- private DeviceService deviceService;
- private HostService hostService;
- private LinkService linkService;
-
- private final Timer timer = new Timer("sample-overlay");
- private TimerTask demoTask = null;
- private Mode currentMode = Mode.IDLE;
- private Element elementOfNote;
- private Link[] linkSet = EMPTY_LINK_SET;
- private int linkIndex;
-
-
- // ===============-=-=-=-=-=-======================-=-=-=-=-=-=-================================
-
-
- @Override
- public void init(UiConnection connection, ServiceDirectory directory) {
- super.init(connection, directory);
- deviceService = directory.get(DeviceService.class);
- hostService = directory.get(HostService.class);
- linkService = directory.get(LinkService.class);
- }
-
- @Override
- protected Collection<RequestHandler> createRequestHandlers() {
- return ImmutableSet.of(
- new DisplayStartHandler(),
- new DisplayUpdateHandler(),
- new DisplayStopHandler()
- );
- }
-
- // === -------------------------
- // === Handler classes
-
- private final class DisplayStartHandler extends RequestHandler {
- public DisplayStartHandler() {
- super(SAMPLE_TOPOV_DISPLAY_START);
- }
-
- @Override
- public void process(long sid, ObjectNode payload) {
- String mode = string(payload, MODE);
-
- log.debug("Start Display: mode [{}]", mode);
- clearState();
- clearForMode();
-
- switch (mode) {
- case "mouse":
- currentMode = Mode.MOUSE;
- cancelTask();
- sendMouseData();
- break;
-
- case "link":
- currentMode = Mode.LINK;
- scheduleTask();
- initLinkSet();
- sendLinkData();
- break;
-
- default:
- currentMode = Mode.IDLE;
- cancelTask();
- break;
- }
- }
- }
-
- private final class DisplayUpdateHandler extends RequestHandler {
- public DisplayUpdateHandler() {
- super(SAMPLE_TOPOV_DISPLAY_UPDATE);
- }
-
- @Override
- public void process(long sid, ObjectNode payload) {
- String id = string(payload, ID);
- log.debug("Update Display: id [{}]", id);
- if (!Strings.isNullOrEmpty(id)) {
- updateForMode(id);
- } else {
- clearForMode();
- }
- }
- }
-
- private final class DisplayStopHandler extends RequestHandler {
- public DisplayStopHandler() {
- super(SAMPLE_TOPOV_DISPLAY_STOP);
- }
-
- @Override
- public void process(long sid, ObjectNode payload) {
- log.debug("Stop Display");
- cancelTask();
- clearState();
- clearForMode();
- }
- }
-
- // === ------------
-
- private void clearState() {
- currentMode = Mode.IDLE;
- elementOfNote = null;
- linkSet = EMPTY_LINK_SET;
- }
-
- private void updateForMode(String id) {
- log.debug("host service: {}", hostService);
- log.debug("device service: {}", deviceService);
-
- try {
- HostId hid = HostId.hostId(id);
- log.debug("host id {}", hid);
- elementOfNote = hostService.getHost(hid);
- log.debug("host element {}", elementOfNote);
-
- } catch (Exception e) {
- try {
- DeviceId did = DeviceId.deviceId(id);
- log.debug("device id {}", did);
- elementOfNote = deviceService.getDevice(did);
- log.debug("device element {}", elementOfNote);
-
- } catch (Exception e2) {
- log.debug("Unable to process ID [{}]", id);
- elementOfNote = null;
- }
- }
-
- switch (currentMode) {
- case MOUSE:
- sendMouseData();
- break;
-
- case LINK:
- sendLinkData();
- break;
-
- default:
- break;
- }
-
- }
-
- private void clearForMode() {
- sendHighlights(new Highlights());
- }
-
- private void sendHighlights(Highlights highlights) {
- sendMessage(TopoJson.highlightsMessage(highlights));
- }
-
-
- private void sendMouseData() {
- if (elementOfNote != null && elementOfNote instanceof Device) {
- DeviceId devId = (DeviceId) elementOfNote.id();
- Set<Link> links = linkService.getDeviceEgressLinks(devId);
- Highlights highlights = fromLinks(links, devId);
- addDeviceBadge(highlights, devId, links.size());
- sendHighlights(highlights);
- }
- // Note: could also process Host, if available
- }
-
- private void addDeviceBadge(Highlights h, DeviceId devId, int n) {
- DeviceHighlight dh = new DeviceHighlight(devId.toString());
- dh.setBadge(createBadge(n));
- h.add(dh);
- }
-
- private NodeBadge createBadge(int n) {
- Status status = n > 3 ? Status.ERROR : Status.WARN;
- String noun = n > 3 ? "(critical)" : "(problematic)";
- String msg = "Egress links: " + n + " " + noun;
- return NodeBadge.number(status, n, msg);
- }
-
- private Highlights fromLinks(Set<Link> links, DeviceId devId) {
- DemoLinkMap linkMap = new DemoLinkMap();
- if (links != null) {
- log.debug("Processing {} links", links.size());
- links.forEach(linkMap::add);
- } else {
- log.debug("No egress links found for device {}", devId);
- }
-
- Highlights highlights = new Highlights();
-
- for (DemoLink dlink : linkMap.biLinks()) {
- dlink.makeImportant().setLabel("Yo!");
- highlights.add(dlink.highlight(null));
- }
- return highlights;
- }
-
- private void initLinkSet() {
- Set<Link> links = new HashSet<>();
- for (Link link : linkService.getActiveLinks()) {
- links.add(link);
- }
- linkSet = links.toArray(new Link[links.size()]);
- linkIndex = 0;
- log.debug("initialized link set to {}", linkSet.length);
- }
-
- private void sendLinkData() {
- DemoLinkMap linkMap = new DemoLinkMap();
- for (Link link : linkSet) {
- linkMap.add(link);
- }
- DemoLink dl = linkMap.add(linkSet[linkIndex]);
- dl.makeImportant().setLabel(Integer.toString(linkIndex));
- log.debug("sending link data (index {})", linkIndex);
-
- linkIndex += 1;
- if (linkIndex >= linkSet.length) {
- linkIndex = 0;
- }
-
- Highlights highlights = new Highlights();
- for (DemoLink dlink : linkMap.biLinks()) {
- highlights.add(dlink.highlight(null));
- }
-
- sendHighlights(highlights);
- }
-
- private synchronized void scheduleTask() {
- if (demoTask == null) {
- log.debug("Starting up demo task...");
- demoTask = new DisplayUpdateTask();
- timer.schedule(demoTask, UPDATE_PERIOD_MS, UPDATE_PERIOD_MS);
- } else {
- log.debug("(demo task already running");
- }
- }
-
- private synchronized void cancelTask() {
- if (demoTask != null) {
- demoTask.cancel();
- demoTask = null;
- }
- }
-
-
- private class DisplayUpdateTask extends TimerTask {
- @Override
- public void run() {
- try {
- switch (currentMode) {
- case LINK:
- sendLinkData();
- break;
-
- default:
- break;
- }
- } catch (Exception e) {
- log.warn("Unable to process demo task: {}", e.getMessage());
- log.debug("Oops", e);
- }
- }
- }
-
-} \ No newline at end of file
diff --git a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/AppUiTopovOverlay.java b/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/AppUiTopovOverlay.java
deleted file mode 100644
index 48e75a5a..00000000
--- a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/AppUiTopovOverlay.java
+++ /dev/null
@@ -1,82 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- * Copyright 2014,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.
- */
-package ${package};
-
-import org.onosproject.net.DeviceId;
-import org.onosproject.ui.UiTopoOverlay;
-import org.onosproject.ui.topo.ButtonId;
-import org.onosproject.ui.topo.PropertyPanel;
-import org.onosproject.ui.topo.TopoConstants.CoreButtons;
-import org.onosproject.ui.topo.TopoConstants.Glyphs;
-
-import static org.onosproject.ui.topo.TopoConstants.Properties.FLOWS;
-import static org.onosproject.ui.topo.TopoConstants.Properties.INTENTS;
-import static org.onosproject.ui.topo.TopoConstants.Properties.LATITUDE;
-import static org.onosproject.ui.topo.TopoConstants.Properties.LONGITUDE;
-import static org.onosproject.ui.topo.TopoConstants.Properties.TOPOLOGY_SSCS;
-import static org.onosproject.ui.topo.TopoConstants.Properties.TUNNELS;
-import static org.onosproject.ui.topo.TopoConstants.Properties.VERSION;
-
-/**
- * Our topology overlay.
- */
-public class AppUiTopovOverlay extends UiTopoOverlay {
-
- // NOTE: this must match the ID defined in sampleTopov.js
- private static final String OVERLAY_ID = "meowster-overlay";
-
- private static final String MY_TITLE = "My App Rocks!";
- private static final String MY_VERSION = "Beta-1.0.0042";
- private static final String MY_DEVICE_TITLE = "I changed the title";
-
- private static final ButtonId FOO_BUTTON = new ButtonId("foo");
- private static final ButtonId BAR_BUTTON = new ButtonId("bar");
-
- public AppUiTopovOverlay() {
- super(OVERLAY_ID);
- }
-
-
- @Override
- public void modifySummary(PropertyPanel pp) {
- pp.title(MY_TITLE)
- .typeId(Glyphs.CROWN)
- .removeProps(
- TOPOLOGY_SSCS,
- INTENTS,
- TUNNELS,
- FLOWS,
- VERSION
- )
- .addProp(VERSION, MY_VERSION);
- }
-
- @Override
- public void modifyDeviceDetails(PropertyPanel pp, DeviceId deviceId) {
- pp.title(MY_DEVICE_TITLE);
- pp.removeProps(LATITUDE, LONGITUDE);
-
- pp.addButton(FOO_BUTTON)
- .addButton(BAR_BUTTON);
-
- pp.removeButtons(CoreButtons.SHOW_PORT_VIEW)
- .removeButtons(CoreButtons.SHOW_GROUP_VIEW);
- }
-
-}
diff --git a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/DemoLink.java b/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/DemoLink.java
deleted file mode 100644
index 4a97f7bd..00000000
--- a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/DemoLink.java
+++ /dev/null
@@ -1,57 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- * Copyright 2014,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.
- */
-package ${package};
-
-import org.onosproject.net.Link;
-import org.onosproject.net.LinkKey;
-import org.onosproject.ui.topo.BiLink;
-import org.onosproject.ui.topo.LinkHighlight;
-import org.onosproject.ui.topo.LinkHighlight.Flavor;
-
-/**
- * Our demo concrete class of a bi-link. We give it state so we can decide
- * how to create link highlights.
- */
-public class DemoLink extends BiLink {
-
- private boolean important = false;
- private String label = null;
-
- public DemoLink(LinkKey key, Link link) {
- super(key, link);
- }
-
- public DemoLink makeImportant() {
- important = true;
- return this;
- }
-
- public DemoLink setLabel(String label) {
- this.label = label;
- return this;
- }
-
- @Override
- public LinkHighlight highlight(Enum<?> anEnum) {
- Flavor flavor = important ? Flavor.PRIMARY_HIGHLIGHT
- : Flavor.SECONDARY_HIGHLIGHT;
- return new LinkHighlight(this.linkId(), flavor)
- .setLabel(label);
- }
-}
diff --git a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/DemoLinkMap.java b/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/DemoLinkMap.java
deleted file mode 100644
index cc13d998..00000000
--- a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/java/DemoLinkMap.java
+++ /dev/null
@@ -1,33 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- * Copyright 2014,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.
- */
-package ${package};
-
-import org.onosproject.net.Link;
-import org.onosproject.net.LinkKey;
-import org.onosproject.ui.topo.BiLinkMap;
-
-/**
- * Our concrete link map.
- */
-public class DemoLinkMap extends BiLinkMap<DemoLink> {
- @Override
- protected DemoLink create(LinkKey linkKey, Link link) {
- return new DemoLink(linkKey, link);
- }
-}
diff --git a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTopov/sampleTopov.css b/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTopov/sampleTopov.css
deleted file mode 100644
index cbf460f9..00000000
--- a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTopov/sampleTopov.css
+++ /dev/null
@@ -1,2 +0,0 @@
-/* css for sample app topology overlay */
-
diff --git a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTopov/sampleTopov.html b/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTopov/sampleTopov.html
deleted file mode 100644
index b1c9acbb..00000000
--- a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTopov/sampleTopov.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<!-- partial HTML -->
-<div id="ov-sample-topov">
- <p>This is a hidden view .. just a placeholder to house the javascript</p>
-</div>
diff --git a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTopov/sampleTopovDemo.js b/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTopov/sampleTopovDemo.js
deleted file mode 100644
index 328380c0..00000000
--- a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTopov/sampleTopovDemo.js
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * 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.
- */
-
-/*
- Sample Demo module. This contains the "business logic" for the topology
- overlay that we are implementing.
- */
-
-(function () {
- 'use strict';
-
- // injected refs
- var $log, fs, flash, wss;
-
- // constants
- var displayStart = 'sampleTopovDisplayStart',
- displayUpdate = 'sampleTopovDisplayUpdate',
- displayStop = 'sampleTopovDisplayStop';
-
- // internal state
- var currentMode = null;
-
-
- // === ---------------------------
- // === Helper functions
-
- function sendDisplayStart(mode) {
- wss.sendEvent(displayStart, {
- mode: mode
- });
- }
-
- function sendDisplayUpdate(what) {
- wss.sendEvent(displayUpdate, {
- id: what ? what.id : ''
- });
- }
-
- function sendDisplayStop() {
- wss.sendEvent(displayStop);
- }
-
- // === ---------------------------
- // === Main API functions
-
- function startDisplay(mode) {
- if (currentMode === mode) {
- $log.debug('(in mode', mode, 'already)');
- } else {
- currentMode = mode;
- sendDisplayStart(mode);
- flash.flash('Starting display mode: ' + mode);
- }
- }
-
- function updateDisplay(m) {
- if (currentMode) {
- sendDisplayUpdate(m);
- }
- }
-
- function stopDisplay() {
- if (currentMode) {
- currentMode = null;
- sendDisplayStop();
- flash.flash('Canceling display mode');
- return true;
- }
- return false;
- }
-
- // === ---------------------------
- // === Module Factory Definition
-
- angular.module('ovSampleTopov', [])
- .factory('SampleTopovDemoService',
- ['$log', 'FnService', 'FlashService', 'WebSocketService',
-
- function (_$log_, _fs_, _flash_, _wss_) {
- $log = _$log_;
- fs = _fs_;
- flash = _flash_;
- wss = _wss_;
-
- return {
- startDisplay: startDisplay,
- updateDisplay: updateDisplay,
- stopDisplay: stopDisplay
- };
- }]);
-}());
diff --git a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTopov/sampleTopovOverlay.js b/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTopov/sampleTopovOverlay.js
deleted file mode 100644
index 7ebc030a..00000000
--- a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/app/view/sampleTopov/sampleTopovOverlay.js
+++ /dev/null
@@ -1,143 +0,0 @@
-// sample topology overlay - client side
-//
-// This is the glue that binds our business logic (in sampleTopovDemo.js)
-// to the overlay framework.
-
-(function () {
- 'use strict';
-
- // injected refs
- var $log, tov, stds;
-
- // internal state should be kept in the service module (not here)
-
- // our overlay definition
- var overlay = {
- // NOTE: this must match the ID defined in AppUiTopovOverlay
- overlayId: 'meowster-overlay',
- glyphId: '*star4',
- tooltip: 'Sample Meowster Topo Overlay',
-
- // These glyphs get installed using the overlayId as a prefix.
- // e.g. 'star4' is installed as 'meowster-overlay-star4'
- // They can be referenced (from this overlay) as '*star4'
- // That is, the '*' prefix stands in for 'meowster-overlay-'
- glyphs: {
- star4: {
- vb: '0 0 8 8',
- d: 'M1,4l2,-1l1,-2l1,2l2,1l-2,1l-1,2l-1,-2z'
- },
- banner: {
- vb: '0 0 6 6',
- d: 'M1,1v4l2,-2l2,2v-4z'
- }
- },
-
- activate: function () {
- $log.debug("Sample topology overlay ACTIVATED");
- },
- deactivate: function () {
- stds.stopDisplay();
- $log.debug("Sample topology overlay DEACTIVATED");
- },
-
- // detail panel button definitions
- buttons: {
- foo: {
- gid: 'chain',
- tt: 'A FOO action',
- cb: function (data) {
- $log.debug('FOO action invoked with data:', data);
- }
- },
- bar: {
- gid: '*banner',
- tt: 'A BAR action',
- cb: function (data) {
- $log.debug('BAR action invoked with data:', data);
- }
- }
- },
-
- // Key bindings for traffic overlay buttons
- // NOTE: fully qual. button ID is derived from overlay-id and key-name
- keyBindings: {
- 0: {
- cb: function () { stds.stopDisplay(); },
- tt: 'Cancel Display Mode',
- gid: 'xMark'
- },
- V: {
- cb: function () { stds.startDisplay('mouse'); },
- tt: 'Start Mouse Mode',
- gid: '*banner'
- },
- F: {
- cb: function () { stds.startDisplay('link'); },
- tt: 'Start Link Mode',
- gid: 'chain'
- },
- G: {
- cb: buttonCallback,
- tt: 'Uses the G key',
- gid: 'crown'
- },
-
- _keyOrder: [
- '0', 'V', 'F', 'G'
- ]
- },
-
- hooks: {
- // hook for handling escape key
- // Must return true to consume ESC, false otherwise.
- escape: function () {
- // Must return true to consume ESC, false otherwise.
- return stds.stopDisplay();
- },
-
- // hooks for when the selection changes...
- empty: function () {
- selectionCallback('empty');
- },
- single: function (data) {
- selectionCallback('single', data);
- },
- multi: function (selectOrder) {
- selectionCallback('multi', selectOrder);
- tov.addDetailButton('foo');
- tov.addDetailButton('bar');
- },
- mouseover: function (m) {
- // m has id, class, and type properties
- $log.debug('mouseover:', m);
- stds.updateDisplay(m);
- },
- mouseout: function () {
- $log.debug('mouseout');
- stds.updateDisplay();
- }
- }
- };
-
-
- function buttonCallback(x) {
- $log.debug('Toolbar-button callback', x);
- }
-
- function selectionCallback(x, d) {
- $log.debug('Selection callback', x, d);
- }
-
- // invoke code to register with the overlay service
- angular.module('ovSampleTopov')
- .run(['$log', 'TopoOverlayService', 'SampleTopovDemoService',
-
- function (_$log_, _tov_, _stds_) {
- $log = _$log_;
- tov = _tov_;
- stds = _stds_;
- tov.register(overlay);
- }]);
-
-}());
diff --git a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/sampleTopov/css.html b/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/sampleTopov/css.html
deleted file mode 100644
index 0ed6f53c..00000000
--- a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/sampleTopov/css.html
+++ /dev/null
@@ -1 +0,0 @@
-<link rel="stylesheet" href="app/view/sampleTopov/sampleTopov.css"> \ No newline at end of file
diff --git a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/sampleTopov/js.html b/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/sampleTopov/js.html
deleted file mode 100644
index 4fed1f08..00000000
--- a/framework/src/onos/tools/package/archetypes/uitopo/src/main/resources/archetype-resources/src/main/resources/sampleTopov/js.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<script src="app/view/sampleTopov/sampleTopovDemo.js"></script>
-<script src="app/view/sampleTopov/sampleTopovOverlay.js"></script> \ No newline at end of file
diff --git a/framework/src/onos/tools/package/archetypes/uitopo/src/test/resources/projects/basic/archetype.properties b/framework/src/onos/tools/package/archetypes/uitopo/src/test/resources/projects/basic/archetype.properties
deleted file mode 100644
index a1213b40..00000000
--- a/framework/src/onos/tools/package/archetypes/uitopo/src/test/resources/projects/basic/archetype.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-#
-# Copyright 2014 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.
-#
-
-#Thu Dec 04 09:24:50 PST 2014
-package=it.pkg
-version=0.1-SNAPSHOT
-groupId=archetype.it
-artifactId=basic
diff --git a/framework/src/onos/tools/package/archetypes/uitopo/src/test/resources/projects/basic/goal.txt b/framework/src/onos/tools/package/archetypes/uitopo/src/test/resources/projects/basic/goal.txt
deleted file mode 100644
index e69de29b..00000000
--- a/framework/src/onos/tools/package/archetypes/uitopo/src/test/resources/projects/basic/goal.txt
+++ /dev/null