use of org.onosproject.ui.UiTopoMap in project onos by opennetworkinglab.
the class UiExtensionManager method createCoreExtension.
private UiExtension createCoreExtension() {
List<LionBundle> lionBundles = generateBundles(LION_BASE, LION_TAGS);
navLion = lionBundles.stream().filter(f -> f.id().equals("core.fw.Nav")).findFirst().get();
List<UiView> coreViews = of(mkView(PLATFORM, "app", "nav_apps"), mkView(PLATFORM, "settings", "nav_settings"), mkView(PLATFORM, "cluster", "nav_cluster"), mkView(PLATFORM, "processor", "nav_processors"), mkView(PLATFORM, "partition", "nav_partitions"), mkView(NETWORK, "topo", "nav_topo"), // mkView(NETWORK, "topo2", "nav_topo2"),
mkView(NETWORK, "device", "nav_devs"), new UiViewHidden("flow"), new UiViewHidden("port"), new UiViewHidden("group"), new UiViewHidden("meter"), new UiViewHidden("pipeconf"), mkView(NETWORK, "link", "nav_links"), mkView(NETWORK, "host", "nav_hosts"), mkView(NETWORK, "intent", "nav_intents"));
UiMessageHandlerFactory messageHandlerFactory = () -> ImmutableList.of(new UserPreferencesMessageHandler(), new TopologyViewMessageHandler(), new Topo2ViewMessageHandler(), new Topo2TrafficMessageHandler(), new MapSelectorMessageHandler(), new DeviceViewMessageHandler(), new LinkViewMessageHandler(), new HostViewMessageHandler(), new FlowViewMessageHandler(), new PortViewMessageHandler(), new GroupViewMessageHandler(), new MeterViewMessageHandler(), new IntentViewMessageHandler(), new ApplicationViewMessageHandler(), new SettingsViewMessageHandler(), new ClusterViewMessageHandler(), new ProcessorViewMessageHandler(), new PartitionViewMessageHandler(), new PipeconfViewMessageHandler());
UiTopoOverlayFactory topoOverlayFactory = () -> ImmutableList.of(new TrafficOverlay(), new ProtectedIntentOverlay());
UiTopo2OverlayFactory topo2OverlayFactory = () -> ImmutableList.of(new Traffic2Overlay());
UiTopoMapFactory topoMapFactory = () -> ImmutableList.of(new UiTopoMap("australia", "Australia", "*australia", 1.0), new UiTopoMap("americas", "North, Central and South America", "*americas", 0.7), new UiTopoMap("n_america", "North America", "*n_america", 0.9), new UiTopoMap("s_america", "South America", "*s_america", 0.9), new UiTopoMap("usa", "United States", "*continental_us", 1.3), new UiTopoMap("bayareaGEO", "Bay Area, California", "*bayarea", 1.0), new UiTopoMap("europe", "Europe", "*europe", 10.0), new UiTopoMap("italy", "Italy", "*italy", 0.8), new UiTopoMap("uk", "United Kingdom and Ireland", "*uk", 2.0), new UiTopoMap("japan", "Japan", "*japan", 0.8), new UiTopoMap("s_korea", "South Korea", "*s_korea", 0.75), new UiTopoMap("taiwan", "Taiwan", "*taiwan", 0.7), new UiTopoMap("africa", "Africa", "*africa", 0.7), new UiTopoMap("oceania", "Oceania", "*oceania", 0.7), new UiTopoMap("asia", "Asia", "*asia", 0.7));
return new UiExtension.Builder(CL, coreViews).lionBundles(lionBundles).messageHandlerFactory(messageHandlerFactory).topoOverlayFactory(topoOverlayFactory).topo2OverlayFactory(topo2OverlayFactory).topoMapFactory(topoMapFactory).resourcePath(CORE).ui2().build();
}
use of org.onosproject.ui.UiTopoMap in project onos by opennetworkinglab.
the class MapSelectorMessageHandler method mapsJson.
private ObjectNode mapsJson() {
ObjectNode payload = objectNode();
ArrayNode order = arrayNode();
ObjectNode maps = objectNode();
payload.set(ORDER, order);
payload.set(MAPS, maps);
UiExtensionService service = get(UiExtensionService.class);
service.getExtensions().forEach(ext -> {
UiTopoMapFactory mapFactory = ext.topoMapFactory();
if (mapFactory != null) {
List<UiTopoMap> topoMaps = mapFactory.geoMaps();
topoMaps.forEach(m -> {
maps.set(m.id(), objectNode().put(MAP_ID, m.id()).put(DESCRIPTION, m.description()).put(FILE_PATH, m.filePath()).put(SCALE, m.scale()));
order.add(m.id());
});
}
});
return payload;
}
use of org.onosproject.ui.UiTopoMap in project onos by opennetworkinglab.
the class Topo2Jsonifier method addMapParameters.
private void addMapParameters(ObjectNode result, String mapId) {
// TODO: This ought to be written more efficiently.
// ALSO: Should retrieving a UiTopoMap by ID be something that
// the UiExtensionService provides, along with other
// useful lookups?
//
// Or should it remain very basic / general?
//
// return uiextService.getTopoMap(String mapId);
final UiTopoMap[] map = { null };
uiextService.getExtensions().forEach(ext -> {
UiTopoMapFactory factory = ext.topoMapFactory();
// TODO: use .stream().filter(...) here
if (map[0] == null && factory != null) {
List<UiTopoMap> topoMaps = factory.geoMaps();
topoMaps.forEach(m -> {
if (map[0] == null && m.id().equals(mapId)) {
map[0] = m;
}
});
}
});
UiTopoMap m = map[0];
if (m != null) {
result.put("bgDesc", m.description()).put("bgFilePath", m.filePath()).put("bgDefaultScale", m.scale());
} else {
result.put("bgWarn", "no map registered with id: " + mapId);
}
}
Aggregations