Load tabs on click (search and landing pages except Dataproviders' landing page) | count tab results: extra query

git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-portal/trunk@44300 d315682c-612b-4755-9ff5-7f18f6832af3
This commit is contained in:
konstantina.galouni 2016-10-24 15:22:31 +00:00
parent 54249f548a
commit 2f918c3430
13 changed files with 358 additions and 95 deletions

View File

@ -29,7 +29,7 @@
</span>
</a>
</li>
<li role="presentation">
<li role="presentation" (click)="searchDatasetsInit()">
<a data-toggle="tab" href="#researchDataTab">
Research Data
<span class="badge">

View File

@ -23,6 +23,7 @@ export class PersonComponent {
sub: any;
subPublications: any;
subDatasets: any;
subDatasetsCount: any;
private searchPublicationsComponent : SearchPublicationsComponent;
private linkToSearchPublications = "";
@ -52,7 +53,7 @@ export class PersonComponent {
if(this.personId){
this.getPersonInfo();
}else{
this.warningMessage="No valid project id";
this.warningMessage="No valid person id";
}
});
@ -61,20 +62,38 @@ export class PersonComponent {
this.searchPublications();
});
this.subDatasets = this.route.queryParams.subscribe(params => {
this.searchDatasets();
});
this.subDatasetsCount = this.route.queryParams.subscribe(params => {
this._searchDatasetsService.numOfEntityDatasets(this.personId, "people/").subscribe(
data => {
this.searchDatasetsComponent.totalResults = data;
},
err => {
console.error(err);
}
);
})
}
private searchDatasetsInit() {
if(this.subDatasets == undefined) {
this.subDatasets = this.route.queryParams.subscribe(params => {
this.searchDatasets();
});
}
}
ngOnDestroy() {
this.sub.unsubscribe();
this.subPublications.unsubscribe();
this.subDatasets.unsubscribe();
if(this.subDatasets != undefined) {
this.subDatasets.unsubscribe();
}
this.subDatasetsCount.unsubscribe();
}
private getPersonInfo () {
console.info("inside getProjectInfo of component");
console.info("inside getPersonInfo of component");
this.warningMessage = '';
this.errorMessage=""

View File

@ -63,7 +63,7 @@
</span>
</a>
</li>
<li>
<li (click)="searchDatasetsInit()">
<a data-toggle="tab" href="#researchDataTab">
Research Data
<span class="badge">

View File

@ -35,6 +35,7 @@ export class ProjectComponent implements OnInit{
sub: any;
subPublications: any;
subDatasets: any;
subDatasetsCount: any;
private searchPublicationsComponent : SearchPublicationsComponent;
private linkToSearchPublications = "";
@ -47,45 +48,12 @@ export class ProjectComponent implements OnInit{
private _searchDatasetsService: SearchDatasetsService,
private _refineResultsService:RefineResultsService) {
console.info('project constructor');
// this.projectId = 'corda_______::2c37878a0cede85dbbd1081bb9b4a2f8';
// console.info("1 Id is :"+this.projectId);
// if(this.projectId){
// this.getProjectInfo(this.projectId);
// }else{
// this.warningMessage=" 1 No valid project id";
// }
this.searchPublicationsComponent = new SearchPublicationsComponent(this.route, this._searchPublicationsService);
this.searchDatasetsComponent = new SearchDatasetsComponent(this.route, this._searchDatasetsService, this._refineResultsService);
}
ngOnInit() {
// this.sub = this.route.params.subscribe(params => {
// this.projectId = params['projectId'];
// console.info('project init');
// this.getProjectInfo(this.projectId);
// });
//PArameter with format ;id=
//corda_______::2c37878a0cede85dbbd1081bb9b4a2f8
// this.projectId = 'corda_______::2c37878a0cede85dbbd1081bb9b4a2f8';
// console.info("1 Id is :"+this.projectId);
// if(this.projectId){
// this.getProjectInfo(this.projectId);
// }else{
// this.warningMessage=" 1 No valid project id";
// }
// this.route.params.forEach((params: Params) => {
// console.info("this.route.params.forEach");
// let id = +params['id'];
// this.projectId = params['id'];
// console.info("1 Id is :"+this.projectId);
// if(this.projectId){
// this.getProjectInfo(this.projectId);
// }else{
// this.warningMessage=" 1 No valid project id";
// }
//
// });
this.sub = this.route.queryParams.subscribe(params => {
this.projectId = params['projectId'];
console.info("Id is :"+this.projectId);
@ -101,16 +69,29 @@ export class ProjectComponent implements OnInit{
this.searchPublications();
});
this.subDatasets = this.route.queryParams.subscribe(params => {
this.searchDatasets();
});
this.subDatasetsCount = this.route.queryParams.subscribe(params => {
this._searchDatasetsService.numOfEntityDatasets(this.projectId, "projects/").subscribe(
data => {
this.searchDatasetsComponent.totalResults = data;
},
err => {
console.error(err);
}
);
})
}
ngOnDestroy() {
this.sub.unsubscribe();
//if(this.subPublications != undefined) {
this.subPublications.unsubscribe();
this.subDatasets.unsubscribe();
//}
if(this.subDatasets != undefined) {
this.subDatasets.unsubscribe();
}
this.subDatasetsCount.unsubscribe();
}
private searchPublications() {
@ -123,6 +104,14 @@ export class ProjectComponent implements OnInit{
this.linkToSearchDatasets = OpenaireProperties.getLinkToSearchDatasets();
}
private searchDatasetsInit() {
if(this.subDatasets == undefined) {
this.subDatasets = this.route.queryParams.subscribe(params => {
this.searchDatasets();
});
}
}
getProjectInfo (id:string) {
console.info("inside getProjectInfo of component");
this.warningMessage = '';
@ -130,20 +119,6 @@ export class ProjectComponent implements OnInit{
this._projectService.getProjectInfo(id).subscribe(
data => {
this.projectInfo = data;
/*
<dt *ngIf="projectInfo.title != undefined && projectInfo.title != ''">Title: </dt>
<dd *ngIf="projectInfo.title != undefined && projectInfo.title != ''">{{projectInfo.title}}</dd>
<dt *ngIf="projectInfo.funding != undefined && projectInfo.funding != ''">Funding: </dt>
<dd *ngIf="projectInfo.funding != undefined && projectInfo.funding != ''">{{projectInfo.funding}}</dd>
<dt *ngIf="projectInfo.callIdentifier != undefined && projectInfo.callIdentifier != ''">Call: </dt>
<dd *ngIf="projectInfo.callIdentifier != undefined && projectInfo.callIdentifier != ''">{{projectInfo.callIdentifier}}</dd>
<dt *ngIf="projectInfo.contractNum != undefined && projectInfo.contractNum != ''">Contract (GA) number: </dt>
<dd *ngIf="projectInfo.contractNum != undefined && projectInfo.contractNum != ''">{{projectInfo.contractNum}}</dd>
<dt *ngIf="projectInfo.startDate != undefined && projectInfo.startDate != ''">Start Date: </dt>
<dd *ngIf="projectInfo.startDate != undefined && projectInfo.startDate != ''">{{projectInfo.startDate}}</dd>
<dt *ngIf="projectInfo.endDate != undefined && projectInfo.endDate != ''">End Date: </dt>
<dd *ngIf="projectInfo.endDate != undefined && projectInfo.endDate != ''">{{projectInfo.endDate}}</dd>
*/
this.project= { funderId: "", funderName: this.projectInfo.funder, projectId: this.projectId, projectName: this.projectInfo.title, projectAcronym: this.projectInfo.acronym, startDate: this.projectInfo.startDate, endDate: this.projectInfo.endDate };
},
err => {

View File

@ -37,32 +37,32 @@ import {OpenaireProperties} from '../../utils/properties/openaireProperties';
<ul class="nav nav-tabs">
<li [class]="activeTab=='publications'?'active':''" >
<li (click)="searchPublications()">
<a data-toggle="tab" href="#pubsTab">
Publications ({{searchPublicationsComponent.totalResults}})
</a>
</li>
<li [class]="activeTab=='datasets'?'active':''" >
<li (click)="searchDatasets()">
<a data-toggle="tab" href="#dataTab">
Datasets ({{searchDatasetsComponent.totalResults}})
</a>
</li>
<li >
<li (click)="searchProjects()">
<a data-toggle="tab" href="#projectsTab">
Projects ({{searchProjectsComponent.totalResults}})
</a>
</li >
<li>
</li>
<li (click)="searchDataProviders()">
<a data-toggle="tab" href="#dataProviderTab">
Data Providers ({{searchDataProvidersComponent.totalResults}})
</a>
</li>
<li>
<li (click)="searchOrganizations()">
<a data-toggle="tab" href="#organizationsTab" >
Organizations ({{searchOrganizationsComponent.totalResults}})
</a>
</li>
<li>
<li (click)="searchPeople()">
<a data-toggle="tab" href="#peopleTab" >
People ({{searchPeopleComponent.totalResults}})
</a>
@ -100,6 +100,21 @@ import {OpenaireProperties} from '../../utils/properties/openaireProperties';
})
export class SearchComponent {
private sub: any;
private subPublicationsCount: any;
private subDatasetsCount: any;
private subProjectsCount: any;
private subDataprovidersCount: any;
private subOrganizationsCount: any;
private subPeopleCount: any;
private reloadPublications: boolean;
private reloadDatasets: boolean;
private reloadProjects: boolean;
private reloadDataproviders: boolean;
private reloadOrganizations: boolean;
private reloadPeople: boolean;
private pageTitle = "Search in OpenAIRE"
private keyword:string = "";
private publications:string[];
@ -109,7 +124,7 @@ export class SearchComponent {
private organizations:string[];
private people:string[];
private activeTab = "datasets";
private activeTab = "publications";
private linkToSearchPublications = "";
private linkToSearchProjects = "";
private linkToSearchDataproviders = "";
@ -146,55 +161,175 @@ export class SearchComponent {
this.sub = this.route.queryParams.subscribe(params => {
this.keyword = (params['keyword'])?params['keyword']:"";
if(this.keyword !=null && this.keyword.length > 0){
this.reloadTabs();
this.searchPublications();
this.count();
}
});
}
private ngOnDestroy() {
this.sub.unsubscribe();
if(this.keyword !=null && this.keyword.length > 0){
this.subPublicationsCount.unsubscribe();
this.subDatasetsCount.unsubscribe();
this.subProjectsCount.unsubscribe();
this.subDataprovidersCount.unsubscribe();
this.subOrganizationsCount.unsubscribe();
this.subPeopleCount.unsubscribe();
}
}
private searchPublications() {
this.activeTab = "publications";
this.searchPublicationsComponent.getResults(this.keyword, 1, 10, "searchPage");
this.linkToSearchPublications = OpenaireProperties.getLinkToSearchPublications() + this.keyword;
if(this.reloadPublications) {
this.reloadPublications = false;
this.searchPublicationsComponent.getResults(this.keyword, 1, 10, "searchPage");
this.linkToSearchPublications = OpenaireProperties.getLinkToSearchPublications() + this.keyword;
}
}
private searchDatasets() {
this.activeTab = "datasets";
this.searchDatasetsComponent.getResults(this.keyword, 1, 10, "searchPage");
this.linkToSearchDatasets = OpenaireProperties.getLinkToSearchDatasets() + this.keyword;
if(this.reloadDatasets) {
this.reloadDatasets = false;
this.searchDatasetsComponent.getResults(this.keyword, 1, 10, "searchPage");
this.linkToSearchDatasets = OpenaireProperties.getLinkToSearchDatasets() + this.keyword;
}
}
private searchProjects() {
this.activeTab = "projects";
this.searchProjectsComponent.getResults(this.keyword, 1, 10);
this.linkToSearchProjects = OpenaireProperties.getLinkToSearchProjects() + this.keyword;
if(this.reloadProjects) {
this.reloadProjects = false;
this.searchProjectsComponent.getResults(this.keyword, 1, 10);
this.linkToSearchProjects = OpenaireProperties.getLinkToSearchProjects() + this.keyword;
}
}
private searchDataProviders() {
this.activeTab = "datproviders";
this.searchDataProvidersComponent.getResults(this.keyword, 1, 10, "searchPage");
this.linkToSearchDataproviders = OpenaireProperties.getLinkToSearchDataProviders() + this.keyword;
if(this.reloadDataproviders) {
this.reloadDataproviders = false;
this.searchDataProvidersComponent.getResults(this.keyword, 1, 10, "searchPage");
this.linkToSearchDataproviders = OpenaireProperties.getLinkToSearchDataProviders() + this.keyword;
}
}
private searchOrganizations() {
this.activeTab = "organizations";
this.searchOrganizationsComponent.getResults(this.keyword, 1, 10);
this.linkToSearchOrganizations = OpenaireProperties.getLinkToSearchOrganizations() + this.keyword;
if(this.reloadOrganizations) {
this.reloadOrganizations = false;
this.searchOrganizationsComponent.getResults(this.keyword, 1, 10);
this.linkToSearchOrganizations = OpenaireProperties.getLinkToSearchOrganizations() + this.keyword;
}
}
private searchPeople() {
this.activeTab = "people";
this.searchPeopleComponent.getResults(this.keyword, 1, 10);
this.linkToSearchPeople = OpenaireProperties.getLinkToSearchPeople() + this.keyword;
if(this.reloadPeople) {
this.reloadPeople = false;
this.searchPeopleComponent.getResults(this.keyword, 1, 10);
this.linkToSearchPeople = OpenaireProperties.getLinkToSearchPeople() + this.keyword;
}
}
private keywordChanged($event){
this.keyword = $event.value;
console.info("Search Find: search with keyword \"" + this.keyword + "\"" );
this.searchPublications();
this.searchProjects();
this.searchDataProviders();
this.searchDatasets();
this.searchOrganizations();
this.searchPeople();
//unsubscribeSearch();
this.reloadTabs();
if(this.activeTab == "publications") {
this.searchPublications();
}
if(this.activeTab == "projects") {
this.searchProjects();
}
if(this.activeTab == "datasources") {
this.searchDataProviders();
}
if(this.activeTab == "datasets") {
this.searchDatasets();
}
if(this.activeTab == "organizations") {
this.searchOrganizations();
}
if(this.activeTab == "people") {
this.searchPeople();
}
this.count();
}
private count() {
this.subPublicationsCount = this.route.queryParams.subscribe(params => {
this._searchPublicationsService.numOfSearchPublications(this.keyword).subscribe(
data => {
this.searchPublicationsComponent.totalResults = data;
},
err => {
console.error(err);
}
);
})
this.subDatasetsCount = this.route.queryParams.subscribe(params => {
this._searchDatasetsService.numOfSearchDatasets(this.keyword).subscribe(
data => {
this.searchDatasetsComponent.totalResults = data;
},
err => {
console.error(err);
}
);
})
this.subProjectsCount = this.route.queryParams.subscribe(params => {
this._searchProjectsService.numOfSearchProjects(this.keyword).subscribe(
data => {
this.searchProjectsComponent.totalResults = data;
},
err => {
console.error(err);
}
);
})
this.subDataprovidersCount = this.route.queryParams.subscribe(params => {
this._searchDataprovidersService.numOfSearchDataproviders(this.keyword).subscribe(
data => {
this.searchDataProvidersComponent.totalResults = data;
},
err => {
console.error(err);
}
);
})
this.subOrganizationsCount = this.route.queryParams.subscribe(params => {
this._searchOrganizationsService.numOfSearchOrganizations(this.keyword).subscribe(
data => {
this.searchOrganizationsComponent.totalResults = data;
},
err => {
console.error(err);
}
);
})
this.subPeopleCount = this.route.queryParams.subscribe(params => {
this._searchPeopleService.numOfSearchPeople(this.keyword).subscribe(
data => {
this.searchPeopleComponent.totalResults = data;
},
err => {
console.error(err);
}
);
})
}
private reloadTabs() {
this.reloadPublications = true;
this.reloadDatasets = true;
this.reloadProjects = true;
this.reloadDataproviders = true;
this.reloadOrganizations = true;
this.reloadPeople = true;
}
}

View File

@ -84,8 +84,10 @@ export class SearchDatasetsComponent {
}
public getResults(parameters:string, page: number, size: number, flag: string){
console.info("Search Datasets: Execute search query "+parameters);
//+this.searchPage.getRefineFieldsQuery()
this._searchDatasetsService.searchDatasets(parameters, page, size,'searchPage', this.searchPage.getFields()).subscribe(
if(flag == 'searchPage' || flag == 'claim') {
//parameters = parameters + this.searchPage.getRefineFieldsQuery();
}
this._searchDatasetsService.searchDatasets(parameters, page, size, flag, this.searchPage.getFields()).subscribe(
data => {
this.totalResults = data[0];
console.info("Search Datasets: results="+this.totalResults);

View File

@ -19,7 +19,7 @@ export class SearchDataprovidersService {
url = link+"?";
if(params != '') {
url += "q="+params+"&page="+page+"&size="+size;
url += params+"&page="+page+"&size="+size;
} else {
url += "page="+page+"&size="+size;
}
@ -96,4 +96,26 @@ export class SearchDataprovidersService {
return results;
}
numOfEntityDataproviders(id: string, entity: string):any {
//OpenaireProperties.getSearchAPIURL()
//"http://rudie.di.uoa.gr:8080/dnet-functionality-services-2.0.0-SNAPSHOT/rest/v2/api/"
let url = OpenaireProperties.getSearchAPIURL()+entity+id+"/datasources/count"
return this.http.get(url)
.map(res => <any> res.json())
.map(res => res.total);
}
numOfSearchDataproviders(params: string):any {
//OpenaireProperties.getSearchAPIURL()
//"http://rudie.di.uoa.gr:8080/dnet-functionality-services-2.0.0-SNAPSHOT/rest/v2/api/"
let url = OpenaireProperties.getSearchAPIURL()+"datasources/count?q="+params;
return this.http.get(url)
.map(res => <any> res.json())
.map(res => res.total);
}
}

View File

@ -20,7 +20,7 @@ export class SearchDatasetsService {
url = link+"?";
if(params != '') {
url += "q="+params+"&page="+page+"&size="+size;
url += params+"&page="+page+"&size="+size;
} else {
url += "page="+page+"&size="+size;
}
@ -61,7 +61,7 @@ export class SearchDatasetsService {
result['title'].url = OpenaireProperties.getsearchLinkToDataset();
result['title'].url += Array.isArray(data) ? data[i]['result']['header']['dri:objIdentifier'] : data['result']['header']['dri:objIdentifier'];
result['id'] = length > 1 ? data[i]['result']['header']['dri:objIdentifier'] : data['result']['header']['dri:objIdentifier'];
result['id'] = Array.isArray(data) ? data[i]['result']['header']['dri:objIdentifier'] : data['result']['header']['dri:objIdentifier'];
if(resData['bestlicense'].hasOwnProperty("classid")) {
result['title'].accessMode = resData['bestlicense'].classid;
}
@ -150,4 +150,26 @@ export class SearchDatasetsService {
return results;
}
numOfEntityDatasets(id: string, entity: string):any {
//OpenaireProperties.getSearchAPIURL()
//"http://rudie.di.uoa.gr:8080/dnet-functionality-services-2.0.0-SNAPSHOT/rest/v2/api/"
let url = OpenaireProperties.getSearchAPIURL()+entity+id+"/datasets/count"
return this.http.get(url)
.map(res => <any> res.json())
.map(res => res.total);
}
numOfSearchDatasets(params: string):any {
//OpenaireProperties.getSearchAPIURL()
//"http://rudie.di.uoa.gr:8080/dnet-functionality-services-2.0.0-SNAPSHOT/rest/v2/api/"
let url = OpenaireProperties.getSearchAPIURL()+"datasets/count?q="+params;
return this.http.get(url)
.map(res => <any> res.json())
.map(res => res.total);
}
}

View File

@ -19,7 +19,7 @@ export class SearchOrganizationsService {
url = link+"?";
if(params != '') {
url += "q="+params+"&page="+page+"&size="+size;
url += params+"&page="+page+"&size="+size;
} else {
url += "page="+page+"&size="+size;
}
@ -111,4 +111,26 @@ export class SearchOrganizationsService {
return results;
}
numOfEntityOrganizations(id: string, entity: string):any {
//OpenaireProperties.getSearchAPIURL()
//"http://rudie.di.uoa.gr:8080/dnet-functionality-services-2.0.0-SNAPSHOT/rest/v2/api/"
let url = OpenaireProperties.getSearchAPIURL()+entity+id+"/organizations/count"
return this.http.get(url)
.map(res => <any> res.json())
.map(res => res.total);
}
numOfSearchOrganizations(params: string):any {
//OpenaireProperties.getSearchAPIURL()
//"http://rudie.di.uoa.gr:8080/dnet-functionality-services-2.0.0-SNAPSHOT/rest/v2/api/"
let url = OpenaireProperties.getSearchAPIURL()+"organizations/count?q="+params;
return this.http.get(url)
.map(res => <any> res.json())
.map(res => res.total);
}
}

View File

@ -17,7 +17,7 @@ export class SearchPeopleService {
let url = link+"?";
if(params != '') {
url += "q="+params+"&page="+page+"&size="+size;
url += params+"&page="+page+"&size="+size;
} else {
url += "page="+page+"&size="+size;
}
@ -53,4 +53,26 @@ export class SearchPeopleService {
return results;
}
numOfEntityPeople(id: string, entity: string):any {
//OpenaireProperties.getSearchAPIURL()
//"http://rudie.di.uoa.gr:8080/dnet-functionality-services-2.0.0-SNAPSHOT/rest/v2/api/"
let url = OpenaireProperties.getSearchAPIURL()+entity+id+"/people/count"
return this.http.get(url)
.map(res => <any> res.json())
.map(res => res.total);
}
numOfSearchPeople(params: string):any {
//OpenaireProperties.getSearchAPIURL()
//"http://rudie.di.uoa.gr:8080/dnet-functionality-services-2.0.0-SNAPSHOT/rest/v2/api/"
let url = OpenaireProperties.getSearchAPIURL()+"people/count?q="+params;
return this.http.get(url)
.map(res => <any> res.json())
.map(res => res.total);
}
}

View File

@ -116,4 +116,26 @@ export class SearchProjectsService {
return results;
}
numOfEntityProjects(id: string, entity: string):any {
//OpenaireProperties.getSearchAPIURL()
//"http://rudie.di.uoa.gr:8080/dnet-functionality-services-2.0.0-SNAPSHOT/rest/v2/api/"
let url = OpenaireProperties.getSearchAPIURL()+entity+id+"/projects/count"
return this.http.get(url)
.map(res => <any> res.json())
.map(res => res.total);
}
numOfSearchProjects(params: string):any {
//OpenaireProperties.getSearchAPIURL()
//"http://rudie.di.uoa.gr:8080/dnet-functionality-services-2.0.0-SNAPSHOT/rest/v2/api/"
let url = OpenaireProperties.getSearchAPIURL()+"projects/count?q="+params;
return this.http.get(url)
.map(res => <any> res.json())
.map(res => res.total);
}
}

View File

@ -21,7 +21,7 @@ export class SearchPublicationsService {
url = link+"?";
if(params != '') {
url += "q="+params+"&page="+page+"&size="+size;
url += params+"&page="+page+"&size="+size;
} else {
url += "page="+page+"&size="+size;
}
@ -142,4 +142,26 @@ export class SearchPublicationsService {
return results;
}
numOfEntityPublications(id: string, entity: string):any {
//OpenaireProperties.getSearchAPIURL()
//"http://rudie.di.uoa.gr:8080/dnet-functionality-services-2.0.0-SNAPSHOT/rest/v2/api/"
let url = OpenaireProperties.getSearchAPIURL()+entity+id+"/publications/count"
return this.http.get(url)
.map(res => <any> res.json())
.map(res => res.total);
}
numOfSearchPublications(params: string):any {
//OpenaireProperties.getSearchAPIURL()
//"http://rudie.di.uoa.gr:8080/dnet-functionality-services-2.0.0-SNAPSHOT/rest/v2/api/"
let url = OpenaireProperties.getSearchAPIURL()+"publications/count?q="+params;
return this.http.get(url)
.map(res => <any> res.json())
.map(res => res.total);
}
}

View File

@ -22,7 +22,7 @@ export class OpenaireProperties {
// private static searchAPIURL = "http://rudie.di.uoa.gr:8080/dnet-functionality-services-2.0.0-SNAPSHOT/rest/v2/api/";
//"http://astero.di.uoa.gr:8080/dnet-functionality-services-2.0.0-SNAPSHOT/rest/v2/api/";
// private static searchAPIURL = "http://astero.di.uoa.gr:8080/dnet-functionality-services-2.0.0-SNAPSHOT/rest/v2/api/";
// private searchAPIURL = "http://rudie.di.uoa.gr:8080/dnet-functionality-services-2.0.0-SNAPSHOT/rest/v2.0/api/";
private static searchAPIURL = "http://scoobydoo.di.uoa.gr:8181/dnet-functionality-services-2.0.0-SNAPSHOT/rest/v2/api/";