aboutsummaryrefslogtreecommitdiffstats
path: root/sdc-workflow-designer-ui/src/app/util
diff options
context:
space:
mode:
authorLvbo163 <lv.bo163@zte.com.cn>2017-08-30 09:21:09 +0800
committerLvbo163 <lv.bo163@zte.com.cn>2017-08-30 09:29:32 +0800
commita53dbd4f12ddd206c2ce9dc0a8ff14a08aadc1fe (patch)
treea5565b63067331dc9cde0a1285bcef640868abf6 /sdc-workflow-designer-ui/src/app/util
parentce786628733cb20ff806fa5bb8e061400c7213ef (diff)
save and query workflow definition
add in memory web api to mock backend rest api to save and load workflow definition. Issue-ID: SDC-257 Change-Id: Ibedcbe5db5706773de9f6d1093babbcbd7b73297 Signed-off-by: Lvbo163 <lv.bo163@zte.com.cn>
Diffstat (limited to 'sdc-workflow-designer-ui/src/app/util')
-rw-r--r--sdc-workflow-designer-ui/src/app/util/http.service.ts58
-rw-r--r--sdc-workflow-designer-ui/src/app/util/rxjs-operators.ts18
2 files changed, 76 insertions, 0 deletions
diff --git a/sdc-workflow-designer-ui/src/app/util/http.service.ts b/sdc-workflow-designer-ui/src/app/util/http.service.ts
new file mode 100644
index 00000000..32669555
--- /dev/null
+++ b/sdc-workflow-designer-ui/src/app/util/http.service.ts
@@ -0,0 +1,58 @@
+/**
+ * Copyright (c) 2017 ZTE Corporation.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and the Apache License 2.0 which both accompany this distribution,
+ * and are available at http://www.eclipse.org/legal/epl-v10.html
+ * and http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Contributors:
+ * ZTE - initial API and implementation and/or initial documentation
+ */
+import { Injectable } from '@angular/core';
+import { Http, RequestOptionsArgs } from '@angular/http';
+import { Observable } from 'rxjs/Rx';
+import './rxjs-operators';
+
+@Injectable()
+export class HttpService {
+ constructor(private http: Http) {}
+
+ public get(uri: string): Observable<any> {
+ return this.getHttp('get', uri);
+ }
+
+ public post(uri: string, data: any): Observable<any> {
+ return this.getHttp('post', uri, data);
+ }
+
+ public put(uri: string, data: any, options?: RequestOptionsArgs): Observable<any> {
+ return this.getHttp('put', uri, data, options);
+ }
+
+ public delete(uri: string): Observable<any> {
+ return this.getHttp('delete', uri);
+ }
+
+ public getHttp(type: string, uri: string, data?: any, options?: RequestOptionsArgs): Observable<any> {
+ if (data) {
+ return this.http[type](uri, data, options)
+ .map(response =>
+ response.json()
+ )
+ .catch(this.handleError);
+ } else {
+ return this.http[type](uri, options)
+ .map(response =>
+ response.json()
+ )
+ .catch(this.handleError);
+ }
+ }
+
+ private handleError(error: any) {
+ const errMsg = (error.message) ? error.message :
+ error.status ? `${error.status}-${error.statusText}` : 'Server error';
+ return Observable.throw(errMsg);
+ }
+}
diff --git a/sdc-workflow-designer-ui/src/app/util/rxjs-operators.ts b/sdc-workflow-designer-ui/src/app/util/rxjs-operators.ts
new file mode 100644
index 00000000..00fa50b8
--- /dev/null
+++ b/sdc-workflow-designer-ui/src/app/util/rxjs-operators.ts
@@ -0,0 +1,18 @@
+/**
+ * Copyright (c) 2017 ZTE Corporation.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and the Apache License 2.0 which both accompany this distribution,
+ * and are available at http://www.eclipse.org/legal/epl-v10.html
+ * and http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Contributors:
+ * ZTE - initial API and implementation and/or initial documentation
+ */
+import 'rxjs/add/observable/throw';
+import 'rxjs/add/operator/catch';
+import 'rxjs/add/operator/debounceTime';
+import 'rxjs/add/operator/distinctUntilChanged';
+import 'rxjs/add/operator/map';
+import 'rxjs/add/operator/switchMap';
+import 'rxjs/add/operator/toPromise';