Search in sources :

Example 1 with UiTopoLayoutId

use of org.onosproject.ui.model.topo.UiTopoLayoutId in project onos by opennetworkinglab.

the class SubjectFactoriesTest method testUITopoLayoutIdFactory.

@Test
public void testUITopoLayoutIdFactory() {
    SubjectFactory<UiTopoLayoutId> uiTopoLayoutIdFactory = SubjectFactories.LAYOUT_SUBJECT_FACTORY;
    assertThat(uiTopoLayoutIdFactory, notNullValue());
    String layout1 = "layout1";
    UiTopoLayoutId id = UiTopoLayoutId.layoutId(layout1);
    UiTopoLayoutId createdLayouId = uiTopoLayoutIdFactory.createSubject(layout1);
    assertThat(createdLayouId.id(), equalTo(layout1));
    assertThat(uiTopoLayoutIdFactory.subjectKey(id), is(layout1));
}
Also used : UiTopoLayoutId(org.onosproject.ui.model.topo.UiTopoLayoutId) Test(org.junit.Test)

Example 2 with UiTopoLayoutId

use of org.onosproject.ui.model.topo.UiTopoLayoutId in project onos by opennetworkinglab.

the class UiTopoLayoutManagerTest method layout.

private static UiTopoLayout layout(String id, Region region, String parentId) {
    UiTopoLayoutId parent = parentId == null ? null : layoutId(parentId);
    UiTopoLayout layout = new UiTopoLayout(layoutId(id));
    // TODO: set region and parent
    return layout;
}
Also used : UiTopoLayoutId(org.onosproject.ui.model.topo.UiTopoLayoutId) UiTopoLayout(org.onosproject.ui.model.topo.UiTopoLayout)

Example 3 with UiTopoLayoutId

use of org.onosproject.ui.model.topo.UiTopoLayoutId in project onos by opennetworkinglab.

the class LayoutAddCommand method doExecute.

@Override
protected void doExecute() {
    UiTopoLayoutService service = get(UiTopoLayoutService.class);
    RegionService regionService = get(RegionService.class);
    UiTopoLayout layout;
    if (ROOT.equals(id)) {
        layout = service.getRootLayout();
        setAppropriateBackground(layout);
        setZoomParameters(layout);
        return;
    }
    // Otherwise, it is a user-defined layout...
    Region region = nullToken(regionId) ? null : regionService.getRegion(regionId(regionId));
    UiTopoLayoutId pid = nullToken(parentId) ? UiTopoLayoutId.DEFAULT_ID : layoutId(parentId);
    layout = new UiTopoLayout(layoutId(id)).region(region).parent(pid);
    setAppropriateBackground(layout);
    setZoomParameters(layout);
    service.addLayout(layout);
}
Also used : UiTopoLayoutService(org.onosproject.ui.UiTopoLayoutService) UiTopoLayoutId(org.onosproject.ui.model.topo.UiTopoLayoutId) Region(org.onosproject.net.region.Region) RegionService(org.onosproject.net.region.RegionService) UiTopoLayout(org.onosproject.ui.model.topo.UiTopoLayout)

Example 4 with UiTopoLayoutId

use of org.onosproject.ui.model.topo.UiTopoLayoutId in project onos by opennetworkinglab.

the class UiTopoLayoutManager method getPeerLayouts.

@Override
public Set<UiTopoLayout> getPeerLayouts(UiTopoLayoutId layoutId) {
    checkNotNull(layoutId, ID_NULL);
    UiTopoLayout layout = layoutMap.get(layoutId);
    if (layout == null || layout.isRoot()) {
        return Collections.emptySet();
    }
    UiTopoLayoutId parentId = layout.parent();
    return layoutMap.values().stream().filter(l -> !Objects.equals(l.id(), layoutId) && !Objects.equals(l.id(), UiTopoLayoutId.DEFAULT_ID) && Objects.equals(l.parent(), parentId)).collect(Collectors.toSet());
}
Also used : BasicUiTopoLayoutConfig(org.onosproject.net.config.basics.BasicUiTopoLayoutConfig) NetworkConfigRegistry(org.onosproject.net.config.NetworkConfigRegistry) NetworkConfigEvent(org.onosproject.net.config.NetworkConfigEvent) LoggerFactory(org.slf4j.LoggerFactory) HashMap(java.util.HashMap) DEFAULT_ID(org.onosproject.ui.model.topo.UiTopoLayoutId.DEFAULT_ID) RegionId(org.onosproject.net.region.RegionId) UiTopoLayoutId(org.onosproject.ui.model.topo.UiTopoLayoutId) UiTopoLayout(org.onosproject.ui.model.topo.UiTopoLayout) Component(org.osgi.service.component.annotations.Component) UiTopoLayoutService(org.onosproject.ui.UiTopoLayoutService) UiRegion(org.onosproject.ui.model.topo.UiRegion) Map(java.util.Map) Activate(org.osgi.service.component.annotations.Activate) ImmutableSet(com.google.common.collect.ImmutableSet) Logger(org.slf4j.Logger) Deactivate(org.osgi.service.component.annotations.Deactivate) Preconditions.checkNotNull(com.google.common.base.Preconditions.checkNotNull) Set(java.util.Set) Collectors(java.util.stream.Collectors) ReferenceCardinality(org.osgi.service.component.annotations.ReferenceCardinality) Objects(java.util.Objects) List(java.util.List) Reference(org.osgi.service.component.annotations.Reference) NetworkConfigListener(org.onosproject.net.config.NetworkConfigListener) Collections(java.util.Collections) UiTopoLayoutId(org.onosproject.ui.model.topo.UiTopoLayoutId) UiTopoLayout(org.onosproject.ui.model.topo.UiTopoLayout)

Example 5 with UiTopoLayoutId

use of org.onosproject.ui.model.topo.UiTopoLayoutId in project onos by opennetworkinglab.

the class ModelCache method fixupContainmentHierarchy.

private void fixupContainmentHierarchy(UiRegion region) {
    UiTopoLayoutService ls = services.layout();
    RegionId regionId = region.id();
    UiTopoLayout layout = ls.getLayout(regionId);
    if (layout == null) {
        // no layout backed by this region
        log.warn("No layout backed by region {}", regionId);
        return;
    }
    UiTopoLayoutId layoutId = layout.id();
    if (!layout.isRoot()) {
        UiTopoLayoutId parentId = layout.parent();
        UiTopoLayout parentLayout = ls.getLayout(parentId);
        RegionId parentRegionId = parentLayout.regionId();
        region.setParent(parentRegionId);
    }
    Set<UiTopoLayout> kids = ls.getChildren(layoutId);
    Set<RegionId> kidRegionIds = new HashSet<>(kids.size());
    kids.forEach(k -> kidRegionIds.add(k.regionId()));
    region.setChildren(kidRegionIds);
}
Also used : UiTopoLayoutService(org.onosproject.ui.UiTopoLayoutService) UiTopoLayoutId(org.onosproject.ui.model.topo.UiTopoLayoutId) RegionId(org.onosproject.net.region.RegionId) UiTopoLayout(org.onosproject.ui.model.topo.UiTopoLayout) HashSet(java.util.HashSet)

Aggregations

UiTopoLayoutId (org.onosproject.ui.model.topo.UiTopoLayoutId)5 UiTopoLayout (org.onosproject.ui.model.topo.UiTopoLayout)4 UiTopoLayoutService (org.onosproject.ui.UiTopoLayoutService)3 RegionId (org.onosproject.net.region.RegionId)2 Preconditions.checkNotNull (com.google.common.base.Preconditions.checkNotNull)1 ImmutableSet (com.google.common.collect.ImmutableSet)1 Collections (java.util.Collections)1 HashMap (java.util.HashMap)1 HashSet (java.util.HashSet)1 List (java.util.List)1 Map (java.util.Map)1 Objects (java.util.Objects)1 Set (java.util.Set)1 Collectors (java.util.stream.Collectors)1 Test (org.junit.Test)1 NetworkConfigEvent (org.onosproject.net.config.NetworkConfigEvent)1 NetworkConfigListener (org.onosproject.net.config.NetworkConfigListener)1 NetworkConfigRegistry (org.onosproject.net.config.NetworkConfigRegistry)1 BasicUiTopoLayoutConfig (org.onosproject.net.config.basics.BasicUiTopoLayoutConfig)1 Region (org.onosproject.net.region.Region)1