2018-01-29 15:32:41 +01:00
|
|
|
import { Injectable } from '@angular/core';
|
|
|
|
import { Http, Response, Headers, RequestOptions } from '@angular/http';
|
|
|
|
import { Observable } from 'rxjs/Rx';
|
|
|
|
|
2018-02-02 13:02:04 +01:00
|
|
|
import { PublicationInfo } from '../../publicationInfo';
|
2018-01-29 15:32:41 +01:00
|
|
|
|
|
|
|
@Injectable()
|
|
|
|
export class CommunityService {
|
|
|
|
|
2018-01-29 15:44:50 +01:00
|
|
|
constructor(private http:Http) {
|
|
|
|
}
|
2018-01-29 15:32:41 +01:00
|
|
|
|
2018-01-29 15:44:50 +01:00
|
|
|
getNumberOfPublications() {
|
2018-01-31 11:11:12 +01:00
|
|
|
return this.http.get('http://rudie.di.uoa.gr:8080/dnet-functionality-services-2.0.0-SNAPSHOT/rest/v2/api/publications/count?format=json&fq=communityid=egi')
|
2018-01-29 15:44:50 +01:00
|
|
|
.map(res => <any> res.json()).do(res => {console.log(res)});
|
|
|
|
}
|
2018-01-29 15:32:41 +01:00
|
|
|
|
2018-01-31 13:42:17 +01:00
|
|
|
// Most recent publications
|
|
|
|
getPublicationsInfo(){
|
2018-02-12 12:41:40 +01:00
|
|
|
return this.http.get('http://rudie.di.uoa.gr:8080/dnet-functionality-services-2.0.0-SNAPSHOT/rest/v2/api/publications?fq=communityid exact "egi"&sortBy=resultdateofacceptance,descending&format=json&size=5')
|
|
|
|
.map(res => <any> res.json()).map(res => this.parse(res)).do(res => {console.log(res)});
|
|
|
|
|
|
|
|
}
|
|
|
|
getDatasetsInfo(){
|
|
|
|
return this.http.get('http://rudie.di.uoa.gr:8080/dnet-functionality-services-2.0.0-SNAPSHOT/rest/v2/api/datasets?fq=communityid exact "egi"&sortBy=resultdateofacceptance,descending&format=json&size=5')
|
|
|
|
.map(res => <any> res.json()).map(res => this.parse(res)).do(res => {console.log(res)});
|
2018-01-31 13:42:17 +01:00
|
|
|
|
|
|
|
}
|
|
|
|
|
2018-01-29 15:44:50 +01:00
|
|
|
getNumberOfResearchData() {
|
|
|
|
return this.http.get('http://rudie.di.uoa.gr:8080/dnet-functionality-services-2.0.0-SNAPSHOT/rest/v2/api/datasets/count?format=json&fq=communityid=egi')
|
|
|
|
.map(res => <any> res.json()).do(res => {console.log(res)});
|
|
|
|
}
|
2018-01-29 15:53:10 +01:00
|
|
|
|
2018-02-02 13:02:04 +01:00
|
|
|
getResearchDataInfo() {
|
2018-02-12 12:41:40 +01:00
|
|
|
return this.http.get('http://rudie.di.uoa.gr:8080/dnet-functionality-services-2.0.0-SNAPSHOT/rest/v2/api/datasets?fq=communityid exact "egi"&sortBy=resultdateofacceptance,descending&format=json&size=5')
|
2018-02-02 13:02:04 +01:00
|
|
|
.map(res => <any> res.json()).map(res => res.results).do(res => {console.log(res)});
|
|
|
|
}
|
|
|
|
|
2018-01-29 15:53:10 +01:00
|
|
|
getNumberOfSoftware() {
|
|
|
|
return this.http.get('http://rudie.di.uoa.gr:8080/dnet-functionality-services-2.0.0-SNAPSHOT/rest/v2/api/software/count?format=json&fq=communityid=egi')
|
|
|
|
.map(res => <any> res.json()).do(res => {console.log(res)});
|
|
|
|
}
|
2018-02-02 13:02:04 +01:00
|
|
|
|
|
|
|
getSoftwareInfo() {
|
|
|
|
return this.http.get('http://rudie.di.uoa.gr:8080/dnet-functionality-services-2.0.0-SNAPSHOT/rest/v2/api/software?fq=communityid exact "egi"&sortBy=resultdateofacceptance,descending&format=json')
|
2018-02-12 12:41:40 +01:00
|
|
|
.map(res => <any> res.json()).map(res => this.parse(res)).do(res => {console.log(res)});
|
2018-02-02 13:02:04 +01:00
|
|
|
}
|
2018-02-12 12:41:40 +01:00
|
|
|
parse(res){
|
|
|
|
var results =[];
|
|
|
|
for(let item of res.results){
|
|
|
|
var result= {};
|
2018-02-02 13:02:04 +01:00
|
|
|
|
2018-02-12 12:41:40 +01:00
|
|
|
result["id"] = item.result["header"]["dri:objIdentifier"];
|
|
|
|
result["title"] = item.result["metadata"]["oaf:entity"]["oaf:result"]["title"]["content"];
|
|
|
|
result["bestaccessright"] = item.result["metadata"]["oaf:entity"]["oaf:result"]["bestaccessright"]["classid"];
|
|
|
|
result["date"]=item.result["metadata"]["oaf:entity"]["oaf:result"]["dateofacceptance"];
|
|
|
|
result["description"]= item.result["metadata"]["oaf:entity"]["oaf:result"]["description"];
|
|
|
|
|
|
|
|
result["authors"] = [];
|
|
|
|
if(Array.isArray(item.result["metadata"]["oaf:entity"]["oaf:result"]["creator"])){
|
|
|
|
result["authors"] = item.result["metadata"]["oaf:entity"]["oaf:result"]["creator"];
|
|
|
|
}else{
|
|
|
|
result["authors"].push(item.result["metadata"]["oaf:entity"]["oaf:result"]["creator"]);
|
|
|
|
}
|
|
|
|
result["authors"] = result["authors"].slice(0,10);
|
|
|
|
|
|
|
|
results.push(result);
|
|
|
|
}
|
|
|
|
return results;
|
|
|
|
}
|
2018-02-02 13:02:04 +01:00
|
|
|
// getPublicationInfo(url: string) {
|
|
|
|
// return this.http.get(url).map(res => <any> res.json()).map(res => res.results).do(res => {console.log(res)});
|
|
|
|
// }
|
|
|
|
|
2018-01-29 15:32:41 +01:00
|
|
|
}
|