create methods to get projects and data repositories for entity registries

git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-portal/trunk@44733 d315682c-612b-4755-9ff5-7f18f6832af3
This commit is contained in:
argiro.kokogiannaki 2016-11-29 14:13:49 +00:00
parent b328a6028d
commit 1428336295
3 changed files with 86 additions and 8 deletions

View File

@ -37,6 +37,7 @@ export class SearchDataprovidersService {
this._cache.set(key, res);
});
}
//((oaftype exact datasource) and(collectedfromdatasourceid exact "openaire____::47ce9e9f4fad46e732cff06419ecaabb"))
advancedSearchDataproviders (params: string, page: number, size: number ):any {
let url = OpenaireProperties.getSearchResourcesAPIURL();
var basicQuery = "(oaftype exact datasource) "
@ -131,7 +132,29 @@ export class SearchDataprovidersService {
this._cache.set(key, res);
});
}
getDataProvidersforEntityRegistry(datasourceId: string, page: number, size: number ):any {
let url = OpenaireProperties.getSearchResourcesAPIURL();
var basicQuery = "(oaftype exact datasource) "
url += "?query=";
if(datasourceId!= null && datasourceId != '' ) {
url +=" ( "+basicQuery+ " ) " +" and (collectedfromdatasourceid exact \"" + datasourceId + "\")";
}else{
url +=" ( "+basicQuery+ " ) ";
}
url += "&page="+(page-1)+"&size="+size;
url += "&format=json";
let key = url;
if (this._cache.has(key)) {
return Observable.of(this._cache.get(key));
}
return this.http.get(url)
.map(res => <any> res.json())
.map(res => [res['meta'].total, this.parseResults(res['results'])])
.do(res => {
this._cache.set(key, res);
});
}
searchDataprovidersForEntity (params: string, page: number, size: number):any {
let link = OpenaireProperties.getSearchAPIURL();
let url = link+params+"/datasources";

View File

@ -42,6 +42,29 @@ export class SearchProjectsService {
this._cache.set(key, res);
});
}
getProjectsforDataProvider (datasourceId: string, page: number, size: number ):any {
let url = OpenaireProperties.getSearchResourcesAPIURL();
var basicQuery = "(oaftype exact project) "
url += "?query=";
if(datasourceId!= null && datasourceId != '' ) {
url +=" ( "+basicQuery+ " ) " +" and (collectedfromdatasourceid exact \"" + datasourceId + "\")";
}else{
url +=" ( "+basicQuery+ " ) ";
}
url += "&page="+(page-1)+"&size="+size;
url += "&format=json";
let key = url;
if (this._cache.has(key)) {
return Observable.of(this._cache.get(key));
}
return this.http.get(url)
.map(res => <any> res.json())
.map(res => [res['meta'].total, this.parseResults(res['results'])])
.do(res => {
this._cache.set(key, res);
});
}
advancedSearchProjects (params: string, page: number, size: number ):any {
let url = OpenaireProperties.getSearchResourcesAPIURL();
var basicQuery = "(oaftype exact project) "

View File

@ -2,6 +2,11 @@ import {Component, ElementRef} from '@angular/core';
import { Subject } from 'rxjs/Subject';
import {Observable} from 'rxjs/Observable';
import {OpenaireProjectsService} from '../services/openaireProjects.service';
import {SearchProjectsService} from '../services/searchProjects.service';
import {SearchPublicationsService} from '../services/searchPublications.service';
import {SearchDatasetsService} from '../services/searchDatasets.service';
import {ISVocabulariesService} from '../services/ISVocabularies.service';
import {Dates} from '../utils/dates.class';
@Component({
@ -66,7 +71,7 @@ export class TestComponent {
private types;
private user:{password:string,email:string} = {password:"",email:""};
constructor(private _projectService: OpenaireProjectsService, private _vocabulariesService: ISVocabulariesService) {
constructor(private _projectService: OpenaireProjectsService,private _searchProjectsService:SearchProjectsService,private _searchPubService:SearchPublicationsService,private _searchDataService:SearchDatasetsService, private _vocabulariesService: ISVocabulariesService) {
// this.elementRef = myElement;
}
ngOnInit() {
@ -75,13 +80,40 @@ export class TestComponent {
this.types = this._vocabulariesService.getPublicationTypesJsonFile();
this.user.email = localStorage.getItem("email");
this.user.password = localStorage.getItem("password");
console.info("2001-12-12" + Dates.isValidDate("2001-12-12"));
console.info("2001/1/12" + Dates.isValidDate("2001/1/12"));
console.info("2001-03-12" + Dates.isValidDate("2001-03-12"));
console.info("12-03-107" + Dates.isValidDate("212-03-107"));
console.info("2016-02-29" + Dates.isValidDate("2016-02-29"));
console.info("2017-02-29" + Dates.isValidDate("2017-02-29"));
console.info("29-02-2016" + Dates.isValidDate("29-02-2016"));
//&collectedFrom=openaire____::4a39de251a65e801bb88d3e75b47623f&cl=and
this._searchDataService.searchDatasets("&collectedFrom=openaire____::fdb035c8b3e0540a8d9a561a6c44f4de&cl=and" ,"&refine=true&fields=resulthostingdatasourceid", 1, 0, ["resulthostingdatasourceid"]).subscribe(
data => {
console.info("done" +data[0]);
},
err => {
console.error(err)
}
);
this._searchPubService.searchPublications("&fq=collectedfromdatasourceid exact openaire____::fdb035c8b3e0540a8d9a561a6c44f4de","&refine=true&fields=resulthostingdatasourceid" , 0, 0, ["resulthostingdatasourceid"]).subscribe(
data => {
console.info("done" +data[0]);
},
err => {
console.error(err)
}
);
this._searchProjectsService.getProjectsforDataProvider("openaire____::db600878200645bd752cf7fd96a37df5",1,10).subscribe(
data => {
console.info("done" +data[0]);
},
err => {
console.error(err)
}
);
}
login(){
localStorage.setItem("email",this.user.email);