summaryrefslogtreecommitdiffstats
path: root/usecaseui-portal/src/app/core
diff options
context:
space:
mode:
Diffstat (limited to 'usecaseui-portal/src/app/core')
-rw-r--r--usecaseui-portal/src/app/core/services/appEvent.ts23
-rw-r--r--usecaseui-portal/src/app/core/services/appEventType.ts4
-rw-r--r--usecaseui-portal/src/app/core/services/eventQueue.service.ts36
-rw-r--r--usecaseui-portal/src/app/core/services/networkHttpservice.service.ts11
4 files changed, 74 insertions, 0 deletions
diff --git a/usecaseui-portal/src/app/core/services/appEvent.ts b/usecaseui-portal/src/app/core/services/appEvent.ts
new file mode 100644
index 00000000..775eced9
--- /dev/null
+++ b/usecaseui-portal/src/app/core/services/appEvent.ts
@@ -0,0 +1,23 @@
+/*
+ Copyright (C) 2021 Huawei Canada, Inc. and others. All rights reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+import {AppEventType} from "@src/app/core/services/appEventType";
+
+export class AppEvent<T> {
+ constructor(
+ public type: AppEventType,
+ public payload: T,
+ ) {}
+} \ No newline at end of file
diff --git a/usecaseui-portal/src/app/core/services/appEventType.ts b/usecaseui-portal/src/app/core/services/appEventType.ts
new file mode 100644
index 00000000..e5369a8c
--- /dev/null
+++ b/usecaseui-portal/src/app/core/services/appEventType.ts
@@ -0,0 +1,4 @@
+export enum AppEventType {
+ GenericEvent = 'GENERIC_EVENT',
+ UserNodeDrag = 'USER_NODE_DRAG'
+} \ No newline at end of file
diff --git a/usecaseui-portal/src/app/core/services/eventQueue.service.ts b/usecaseui-portal/src/app/core/services/eventQueue.service.ts
new file mode 100644
index 00000000..e4c32c38
--- /dev/null
+++ b/usecaseui-portal/src/app/core/services/eventQueue.service.ts
@@ -0,0 +1,36 @@
+/*
+ Copyright (C) 2021 Huawei Canada, Inc. and others. All rights reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+import { Injectable } from '@angular/core';
+import {Observable, Subject} from "rxjs/Rx";
+import {AppEvent} from "@src/app/core/services/appEvent";
+import {AppEventType} from "@src/app/core/services/appEventType";
+import {filter} from "rxjs/operators";
+
+@Injectable()
+export class EventQueueService {
+
+ private eventBroker = new Subject<AppEvent<any>>();
+
+ on(eventType: AppEventType): Observable<AppEvent<any>> {
+ return this.eventBroker.pipe(filter(event => event.type === eventType));
+ }
+
+ dispatch<T>(event: AppEvent<T>): void {
+ this.eventBroker.next(event);
+ }
+
+} \ No newline at end of file
diff --git a/usecaseui-portal/src/app/core/services/networkHttpservice.service.ts b/usecaseui-portal/src/app/core/services/networkHttpservice.service.ts
index 20b79a77..0959f564 100644
--- a/usecaseui-portal/src/app/core/services/networkHttpservice.service.ts
+++ b/usecaseui-portal/src/app/core/services/networkHttpservice.service.ts
@@ -27,6 +27,7 @@ export class networkHttpservice {
url = {
"getNetworkD3Data": this.baseUrl+"/uui-sotn/getNetWorkResources",
"getLogicalLinksData": this.baseUrl+"/uui-sotn/getLogicalLinks",
+ "getPnfsData": this.baseUrl+"/uui-sotn/getPnfs",
"deleteCloud": this.baseUrl+"/uui-sotn/deleteExtNetWork",
"getPInterfacesData": this.baseUrl+"/uui-sotn/getPinterfaceByPnfName/",
"createLink": this.baseUrl+"/uui-sotn/createLink/",
@@ -39,6 +40,7 @@ export class networkHttpservice {
"createCloudLink": this.baseUrl+"/uui-sotn/createLink/",
"createCloudUrl": this.baseUrl+"/uui-sotn/createHostUrl/",
"deleteLink": this.baseUrl+"/uui-sotn/deleteLink/",
+ "getConnectivities": this.baseUrl+"/uui-sotn/getConnectivityInfo",
};
@@ -47,6 +49,10 @@ export class networkHttpservice {
getNetworkD3Data() {
return this.http.get<any>(this.url["getNetworkD3Data"]);
}
+ // GET AAI PNF(s) data
+ getPnfsData() {
+ return this.http.get<any>(this.url["getPnfsData"]);
+ }
//Initialize the connection logical-links
getLogicalLinksData() {
return this.http.get<any>(this.url["getLogicalLinksData"]);
@@ -76,6 +82,11 @@ export class networkHttpservice {
queryExtAAIIdVersion(aaiId) {
return this.http.get<any>(this.url["queryExtAAIIdVersion"] + aaiId);
}
+
+ getConnectivities(){
+ return this.http.get<any>(this.url["getConnectivities"]);
+ }
+
//Create an external cloud newwork interface
createNetwrok(paramsObj) {
return this.http.put<any>(this.url["createNetwrok"] + paramsObj["network-id"], paramsObj);