Search in sources :

Example 1 with DefaultVertexRef

use of org.opennms.features.topology.api.topo.DefaultVertexRef in project opennms by OpenNMS.

the class LayoutManagerTest method testHash.

@Test
public void testHash() {
    ArrayList<VertexRef> defaultVertexRefs = Lists.newArrayList(new DefaultVertexRef("namespace1", "id1", "Label 1"), new DefaultVertexRef("namespace2", "id2", "Label 2"), new DefaultVertexRef("namespace3", "id3", "Label 3"));
    String hash1 = LayoutManager.calculateHash(defaultVertexRefs);
    String hash2 = LayoutManager.calculateHash(defaultVertexRefs);
    Assert.assertEquals(hash1, hash2);
}
Also used : DefaultVertexRef(org.opennms.features.topology.api.topo.DefaultVertexRef) DefaultVertexRef(org.opennms.features.topology.api.topo.DefaultVertexRef) VertexRef(org.opennms.features.topology.api.topo.VertexRef) Test(org.junit.Test)

Example 2 with DefaultVertexRef

use of org.opennms.features.topology.api.topo.DefaultVertexRef in project opennms by OpenNMS.

the class BreadcrumbPathCalculatorTest method setUp.

@Before
public void setUp() {
    final GraphProvider layer1 = new SimpleGraphBuilder("layer1").vertex("A1").vertex("A2").get();
    final GraphProvider layer2 = new SimpleGraphBuilder("layer2").vertex("B1").vertex("B2").vertex("B3").vertex("B4").get();
    final GraphProvider layer3 = new SimpleGraphBuilder("layer3").vertex("C1").vertex("C2").vertex("C3").vertex("C4").vertex("C5").vertex("C6").edge("e1", "C1", "C4").edge("e2", "C1", "C5").edge("e3", "C4", "C5").get();
    final Map<VertexRef, List<VertexRef>> oppositesMap = Maps.newHashMap();
    oppositesMap.put(new DefaultVertexRef("layer1", "A1"), Lists.newArrayList(new DefaultVertexRef("layer2", "B3"), new DefaultVertexRef("layer2", "B4")));
    oppositesMap.put(new DefaultVertexRef("layer1", "A2"), Lists.newArrayList(new DefaultVertexRef("layer2", "B1"), new DefaultVertexRef("layer2", "B2")));
    oppositesMap.put(new DefaultVertexRef("layer2", "B1"), Lists.newArrayList(new DefaultVertexRef("layer3", "C2")));
    oppositesMap.put(new DefaultVertexRef("layer2", "B2"), Lists.newArrayList(new DefaultVertexRef("layer3", "C1")));
    oppositesMap.put(new DefaultVertexRef("layer2", "B3"), Lists.newArrayList(new DefaultVertexRef("layer3", "C3")));
    MetaTopologyProvider metaTopologyProvider = new MetaTopologyProvider() {

        @Override
        public GraphProvider getDefaultGraphProvider() {
            return layer1;
        }

        @Override
        public Collection<GraphProvider> getGraphProviders() {
            return Lists.newArrayList(layer1, layer2, layer3);
        }

        @Override
        public Collection<VertexRef> getOppositeVertices(VertexRef vertexRef) {
            return Optional.ofNullable(oppositesMap.get(vertexRef)).orElse(Lists.newArrayList());
        }

        @Override
        public GraphProvider getGraphProviderBy(String namespace) {
            return getGraphProviders().stream().filter(p -> p.getNamespace().equals(namespace)).findFirst().orElse(null);
        }

        @Override
        public BreadcrumbStrategy getBreadcrumbStrategy() {
            return BreadcrumbStrategy.NONE;
        }

        @Override
        public String getId() {
            return getGraphProviders().stream().map(g -> g.getNamespace()).collect(Collectors.joining(":"));
        }
    };
    DefaultTopologyService topologyService = new DefaultTopologyService();
    topologyService.setServiceLocator(new SimpleServiceLocator(metaTopologyProvider));
    DefaultTopologyServiceClient client = new DefaultTopologyServiceClient(topologyService);
    client.setMetaTopologyId(metaTopologyProvider.getId());
    client.setNamespace(metaTopologyProvider.getDefaultGraphProvider().getNamespace());
    topologyServiceClient = client;
}
Also used : DefaultVertexRef(org.opennms.features.topology.api.topo.DefaultVertexRef) DefaultTopologyServiceClient(org.opennms.features.topology.app.internal.DefaultTopologyServiceClient) Collection(java.util.Collection) IOException(java.io.IOException) Test(org.junit.Test) DefaultTopologyService(org.opennms.features.topology.app.internal.service.DefaultTopologyService) Collectors(java.util.stream.Collectors) TopologyServiceClient(org.opennms.features.topology.api.TopologyServiceClient) Maps(com.google.common.collect.Maps) MetaTopologyProvider(org.opennms.features.topology.api.topo.MetaTopologyProvider) List(java.util.List) BreadcrumbStrategy(org.opennms.features.topology.api.support.breadcrumbs.BreadcrumbStrategy) Lists(com.google.common.collect.Lists) Map(java.util.Map) Optional(java.util.Optional) SimpleGraphBuilder(org.opennms.features.topology.api.support.SimpleGraphBuilder) Assert(org.junit.Assert) VertexRef(org.opennms.features.topology.api.topo.VertexRef) SimpleServiceLocator(org.opennms.features.topology.app.internal.service.SimpleServiceLocator) Before(org.junit.Before) GraphProvider(org.opennms.features.topology.api.topo.GraphProvider) MetaTopologyProvider(org.opennms.features.topology.api.topo.MetaTopologyProvider) SimpleGraphBuilder(org.opennms.features.topology.api.support.SimpleGraphBuilder) DefaultVertexRef(org.opennms.features.topology.api.topo.DefaultVertexRef) DefaultTopologyServiceClient(org.opennms.features.topology.app.internal.DefaultTopologyServiceClient) DefaultTopologyService(org.opennms.features.topology.app.internal.service.DefaultTopologyService) SimpleServiceLocator(org.opennms.features.topology.app.internal.service.SimpleServiceLocator) GraphProvider(org.opennms.features.topology.api.topo.GraphProvider) List(java.util.List) DefaultVertexRef(org.opennms.features.topology.api.topo.DefaultVertexRef) VertexRef(org.opennms.features.topology.api.topo.VertexRef) Before(org.junit.Before)

Example 3 with DefaultVertexRef

use of org.opennms.features.topology.api.topo.DefaultVertexRef in project opennms by OpenNMS.

the class OSGiVerticesUpdateManagerTest method createVertexRefsWithIds.

private List<VertexRef> createVertexRefsWithIds(int... vertIds) {
    List<VertexRef> vertices = new ArrayList<VertexRef>();
    for (int i = 0; i < vertIds.length; i++) {
        VertexRef vRef = new DefaultVertexRef("nodes", "" + vertIds[i], "");
        vertices.add(vRef);
    }
    return vertices;
}
Also used : DefaultVertexRef(org.opennms.features.topology.api.topo.DefaultVertexRef) ArrayList(java.util.ArrayList) DefaultVertexRef(org.opennms.features.topology.api.topo.DefaultVertexRef) VertexRef(org.opennms.features.topology.api.topo.VertexRef)

Example 4 with DefaultVertexRef

use of org.opennms.features.topology.api.topo.DefaultVertexRef in project opennms by OpenNMS.

the class SimpleEdgeBuilder method edge.

public SimpleEdgeBuilder edge(String id, String srcNs, String srcId, String tgtNs, String tgtId) {
    VertexRef srcVertex = new DefaultVertexRef(srcNs, srcId);
    VertexRef tgtVertex = new DefaultVertexRef(tgtNs, tgtId);
    SimpleConnector source = new SimpleConnector(ns(), srcId + "-" + id + "-connector", srcVertex);
    SimpleConnector target = new SimpleConnector(ns(), tgtId + "-" + id + "-connector", tgtVertex);
    m_currentEdge = new AbstractEdge(ns(), id, source, target);
    source.setEdge(m_currentEdge);
    target.setEdge(m_currentEdge);
    m_edgeProvider.add(m_currentEdge);
    return this;
}
Also used : AbstractEdge(org.opennms.features.topology.api.topo.AbstractEdge) DefaultVertexRef(org.opennms.features.topology.api.topo.DefaultVertexRef) SimpleConnector(org.opennms.features.topology.api.topo.SimpleConnector) DefaultVertexRef(org.opennms.features.topology.api.topo.DefaultVertexRef) VertexRef(org.opennms.features.topology.api.topo.VertexRef)

Example 5 with DefaultVertexRef

use of org.opennms.features.topology.api.topo.DefaultVertexRef in project opennms by OpenNMS.

the class ManualLayoutAlgorithmTest method verifyAppliesXAndYCoordinates.

/*
     * This test verifies, that the vertex coordinates of x and y are applied to the
     * layout, if they exist.
     */
@Test
public void verifyAppliesXAndYCoordinates() {
    final ManualTest test = new ManualTest(new SimpleGraphBuilder("dummy").vertex("1").vX(0).vY(0).vertex("2").vX(1).vY(1).get());
    final LayoutAlgorithm layoutAlgorithm = new ManualLayoutAlgorithm(test.layoutManager);
    layoutAlgorithm.updateLayout(test.graph);
    Assert.assertEquals(ImmutableMap.builder().put(new DefaultVertexRef("dummy", "1"), new Point(0, 0)).put(new DefaultVertexRef("dummy", "2"), new Point(1, 1)).build(), test.layout.getLocations());
}
Also used : SimpleGraphBuilder(org.opennms.features.topology.api.support.SimpleGraphBuilder) GridLayoutAlgorithm(org.opennms.features.topology.app.internal.jung.GridLayoutAlgorithm) LayoutAlgorithm(org.opennms.features.topology.api.LayoutAlgorithm) DefaultVertexRef(org.opennms.features.topology.api.topo.DefaultVertexRef) Point(org.opennms.features.topology.api.Point) Test(org.junit.Test)

Aggregations

DefaultVertexRef (org.opennms.features.topology.api.topo.DefaultVertexRef)27 VertexRef (org.opennms.features.topology.api.topo.VertexRef)19 Test (org.junit.Test)10 Point (org.opennms.features.topology.api.Point)6 HashMap (java.util.HashMap)4 TreeSet (java.util.TreeSet)4 AbstractEdge (org.opennms.features.topology.api.topo.AbstractEdge)4 RefComparator (org.opennms.features.topology.api.topo.RefComparator)4 OnmsNode (org.opennms.netmgt.model.OnmsNode)4 ArrayList (java.util.ArrayList)3 List (java.util.List)3 SimpleGraphBuilder (org.opennms.features.topology.api.support.SimpleGraphBuilder)3 VertexHopGraphProvider (org.opennms.features.topology.api.support.VertexHopGraphProvider)3 GraphProvider (org.opennms.features.topology.api.topo.GraphProvider)3 Vertex (org.opennms.features.topology.api.topo.Vertex)3 Collection (java.util.Collection)2 HashSet (java.util.HashSet)2 Map (java.util.Map)2 Objects (java.util.Objects)2 Optional (java.util.Optional)2