Code Review
/
portal
/
ric-dashboard.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Add feature resilient to missing instance data
[portal/ric-dashboard.git]
/
webapp-frontend
/
src
/
app
/
control
/
control.datasource.ts
diff --git
a/webapp-frontend/src/app/control/control.datasource.ts
b/webapp-frontend/src/app/control/control.datasource.ts
index
30752ef
..
60f8563
100644
(file)
--- a/
webapp-frontend/src/app/control/control.datasource.ts
+++ b/
webapp-frontend/src/app/control/control.datasource.ts
@@
-25,7
+25,7
@@
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
import { Observable } from 'rxjs/Observable';
import { of } from 'rxjs/observable/of';
import { catchError, finalize, map } from 'rxjs/operators';
import { Observable } from 'rxjs/Observable';
import { of } from 'rxjs/observable/of';
import { catchError, finalize, map } from 'rxjs/operators';
-import { XappControlRow, XMXapp } from '../interfaces/xapp-mgr.types';
+import { XappControlRow, XMXapp
, XMXappInstance
} from '../interfaces/xapp-mgr.types';
import { XappMgrService } from '../services/xapp-mgr/xapp-mgr.service';
export class ControlDataSource extends DataSource<XappControlRow> {
import { XappMgrService } from '../services/xapp-mgr/xapp-mgr.service';
export class ControlDataSource extends DataSource<XappControlRow> {
@@
-36,6
+36,15
@@
export class ControlDataSource extends DataSource<XappControlRow> {
public loading$ = this.loadingSubject.asObservable();
public loading$ = this.loadingSubject.asObservable();
+ emptyInstances: XMXappInstance =
+ { ip: null,
+ name: null,
+ port: null,
+ status: null,
+ rxMessages: [],
+ txMessages: [],
+ };
+
constructor(private xappMgrSvc: XappMgrService, private sort: MatSort) {
super();
};
constructor(private xappMgrSvc: XappMgrService, private sort: MatSort) {
super();
};
@@
-47,7
+56,7
@@
export class ControlDataSource extends DataSource<XappControlRow> {
catchError(() => of([])),
finalize(() => this.loadingSubject.next(false))
)
catchError(() => of([])),
finalize(() => this.loadingSubject.next(false))
)
- .subscribe(xApps => this.xAppInstancesSubject.next(this.getInstance(xApps))
)
+ .subscribe(xApps => this.xAppInstancesSubject.next(this.getInstance(xApps)))
}
connect(collectionViewer: CollectionViewer): Observable<XappControlRow[]> {
}
connect(collectionViewer: CollectionViewer): Observable<XappControlRow[]> {
@@
-66,16
+75,25
@@
export class ControlDataSource extends DataSource<XappControlRow> {
}
getInstance(allxappdata: XMXapp[]) {
}
getInstance(allxappdata: XMXapp[]) {
- const xAppInstances: XappControlRow[]= [];
+ const xAppInstances: XappControlRow[]
= [];
for (const xappindex in allxappdata) {
const instancelist = allxappdata[xappindex].instances;
for (const xappindex in allxappdata) {
const instancelist = allxappdata[xappindex].instances;
-
for (const instanceindex in
instancelist) {
+
if (!
instancelist) {
var instance: XappControlRow = {
xapp: allxappdata[xappindex].name,
var instance: XappControlRow = {
xapp: allxappdata[xappindex].name,
- instance:
instancelist[instanceindex]
+ instance:
this.emptyInstances
}
xAppInstances.push(instance);
}
}
xAppInstances.push(instance);
}
+ else {
+ for (const instanceindex in instancelist) {
+ var instance: XappControlRow = {
+ xapp: allxappdata[xappindex].name,
+ instance: instancelist[instanceindex]
+ }
+ xAppInstances.push(instance);
+ }
+ }
}
return xAppInstances;
}
}
return xAppInstances;
}