use of org.opennms.features.topology.api.TopologyServiceClient 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;
}
use of org.opennms.features.topology.api.TopologyServiceClient in project opennms by OpenNMS.
the class BusinessServiceSearchProviderIT method verifyQuery.
@Test
public void verifyQuery() {
BusinessServiceEntity bs1 = new BusinessServiceEntityBuilder().name("Test Service").reduceFunction(new HighestSeverityEntity()).addReductionKey("bs1.key1", new IdentityEntity(), 1).addReductionKey("bs1.key2", new IdentityEntity(), 1).toEntity();
BusinessServiceEntity bs2 = new BusinessServiceEntityBuilder().name("Real Service 2").reduceFunction(new HighestSeverityEntity()).addReductionKey("bs2.key1", new IdentityEntity(), 1).addReductionKey("bs2.key2", new IdentityEntity(), 1).toEntity();
businessServiceDao.save(bs1);
businessServiceDao.save(bs2);
businessServiceDao.flush();
// prepare mocks
TopologyServiceClient topologyServiceClientMock = EasyMock.createNiceMock(TopologyServiceClient.class);
EasyMock.expect(topologyServiceClientMock.getVertex(EasyMock.anyObject(BusinessServiceVertex.class))).andReturn(// always return a vertex, it just needs to be not null
new AbstractVertex("bsm", "0", "Dummy Vertex"));
GraphContainer graphContainerMock = EasyMock.createNiceMock(GraphContainer.class);
EasyMock.expect(graphContainerMock.getTopologyServiceClient()).andReturn(topologyServiceClientMock).anyTimes();
EasyMock.replay(graphContainerMock, topologyServiceClientMock);
// try searching
final BusinessServiceSearchProvider provider = new BusinessServiceSearchProvider();
provider.setBusinessServiceManager(businessServiceManager);
final SearchQuery query = new AbstractSearchQuery("Test") {
@Override
public boolean matches(String label) {
// always match, it does not matter
return true;
}
};
final List<SearchResult> result = provider.query(query, graphContainerMock);
Assert.assertEquals(1, result.size());
EasyMock.verify(graphContainerMock, topologyServiceClientMock);
}
Aggregations