Project

General

Profile

« Previous | Next » 

Revision 55964

[Library|Trunk]

Merge into trunk branch angular7 rev 55729

View differences:

dataProvider.service.ts
1 1
import {Injectable} from '@angular/core';
2 2
import {Http, Response,Headers, RequestOptions} from '@angular/http';
3
import {Observable}     from 'rxjs/Observable';
3
import {HttpClient, HttpErrorResponse, HttpHeaders} from "@angular/common/http";
4
import {Observable, throwError} from 'rxjs';
4 5
import {DataProviderInfo} from '../../utils/entities/dataProviderInfo';
5
import 'rxjs/add/observable/of';
6
import 'rxjs/add/operator/do';
7
import 'rxjs/add/operator/share';
6

  
7

  
8

  
8 9
import{EnvProperties} from '../../utils/properties/env-properties';
10
import {map} from "rxjs/operators";
9 11

  
10 12

  
11 13
@Injectable()
12 14
export class DataProviderService {
13 15

  
14
    constructor(private http: Http ) {}
16
    constructor(private http: HttpClient ) {}
15 17

  
16 18
    dataProviderInfo: DataProviderInfo;
17 19

  
......
20 22
        let key = url;
21 23

  
22 24
        return this.http.get((properties.useCache)? (properties.cacheUrl+encodeURIComponent(url)): url)
23
                    .map(res => <any> res.json())
24
                    .map(res => res['result']['metadata']['oaf:entity'])
25
                    .map(res => [res['oaf:datasource'],
25
                    //.map(res => <any> res.json())
26
                    .pipe(map(res => res['result']['metadata']['oaf:entity']))
27
                    .pipe(map(res => [res['oaf:datasource'],
26 28
                                 res['oaf:datasource']['datasourcetype'],
27 29
                                 res['oaf:datasource']['openairecompatibility'],
28 30
                                 res['oaf:datasource']['collectedfrom'],
29 31
                                 res['oaf:datasource']['accessinfopackage'],
30 32
                                 res['oaf:datasource']['rels']['rel'],
31 33
                                 res['oaf:datasource']['journal'] //6
32
                     ])
33
                     .map(res => this.parseDataProviderInfo(res));
34
                     ]))
35
                     .pipe(map(res => this.parseDataProviderInfo(res)));
34 36

  
35 37
    }
36 38

  
37 39
    getDataproviderAggregationStatus(original_id: string, properties:EnvProperties):any {
38
        let headers = new Headers({'Content-Type': 'application/json', 'accept': 'application/json'});
39
        let options = new RequestOptions({headers: headers});
40
        //let headers = new Headers({'Content-Type': 'application/json', 'accept': 'application/json'});
41
        //let options = new RequestOptions({headers: headers});
40 42

  
41
        let page: number = 0;
43
      const options = {
44
        headers: new HttpHeaders({
45
          'Content-Type': 'application/json',
46
          'accept': 'application/json'})
47
      };
48

  
49
      let page: number = 0;
42 50
        let size: number = 1;
43 51
        return this.http.post(properties.datasourcesAPI+page+"/"+size+"?requestSortBy=id&order=ASCENDING", JSON.stringify({ "id": original_id }), options)
44
            .map(res => <any> res.json())
45
            .map(res => res['datasourceInfo'])
46
            .map(res => this.parseDataproviderAggregationStatus(res));
52
            //.map(res => <any> res.json())
53
            .pipe(map(res => res['datasourceInfo']))
54
            .pipe(map(res => this.parseDataproviderAggregationStatus(res)));
47 55
    }
48 56

  
49
    private handleError (error: Response) {
57
    private handleError (error: HttpErrorResponse) {
50 58
    // in a real world app, we may send the error to some remote logging infrastructure
51 59
    // instead of just logging it to the console
52 60
        console.log(error);
53
        return Observable.throw(error  || 'Server error');
61
        return throwError(error  || 'Server error');
54 62
    }
55 63

  
56 64
    parseDataproviderAggregationStatus(data: any): any {

Also available in: Unified diff