allow single edge connections in tenancy graph
Change-Id: Ia878742e9a6b2718e6e6ceb02c65e2a79f045529
diff --git a/src/app/service-graph/services/graph.store.ts b/src/app/service-graph/services/graph.store.ts
index 7c6e552..eb41f38 100644
--- a/src/app/service-graph/services/graph.store.ts
+++ b/src/app/service-graph/services/graph.store.ts
@@ -279,31 +279,33 @@
const links = _.reduce(data.tenants, (links: IXosServiceGraphLink[], tenant: IXosTenantModel) => {
const sourceId = this.getSourceId(tenant);
const targetId = this.getTargetId(tenant);
- if (!angular.isDefined(targetId) || !angular.isDefined(sourceId)) {
- // if the tenant is not pointing to anything, don't draw links
- return links;
+
+ if (angular.isDefined(targetId)) {
+ const tenantToSubscriber = {
+ id: `${tenant.d3Id}_${targetId}`,
+ source: this.getNodeIndexById(tenant.d3Id, nodes),
+ target: this.getNodeIndexById(targetId, nodes),
+ model: tenant
+ };
+
+ if (angular.isDefined(tenantToSubscriber.source) && angular.isDefined(tenantToSubscriber.target)) {
+ links.push(tenantToSubscriber);
+ }
}
- const tenantToProvider = {
- id: `${sourceId}_${tenant.d3Id}`,
- source: this.getNodeIndexById(sourceId, nodes),
- target: this.getNodeIndexById(tenant.d3Id, nodes),
- model: tenant
- };
+ if (angular.isDefined(sourceId)) {
+ const tenantToProvider = {
+ id: `${sourceId}_${tenant.d3Id}`,
+ source: this.getNodeIndexById(sourceId, nodes),
+ target: this.getNodeIndexById(tenant.d3Id, nodes),
+ model: tenant
+ };
- const tenantToSubscriber = {
- id: `${tenant.d3Id}_${targetId}`,
- source: this.getNodeIndexById(tenant.d3Id, nodes),
- target: this.getNodeIndexById(targetId, nodes),
- model: tenant
- };
+ if (angular.isDefined(tenantToProvider.source) && angular.isDefined(tenantToProvider.target)) {
+ links.push(tenantToProvider);
+ }
+ }
- if (angular.isDefined(tenantToProvider.source) && angular.isDefined(tenantToProvider.target)) {
- links.push(tenantToProvider);
- }
- if (angular.isDefined(tenantToSubscriber.source) && angular.isDefined(tenantToSubscriber.target)) {
- links.push(tenantToSubscriber);
- }
return links;
}, []);