diff --git a/portal-2/src/app/deposit/depositDatasets.component.ts b/portal-2/src/app/deposit/depositDatasets.component.ts
index 587b7e68..1b2194e9 100644
--- a/portal-2/src/app/deposit/depositDatasets.component.ts
+++ b/portal-2/src/app/deposit/depositDatasets.component.ts
@@ -3,7 +3,7 @@ import {Component} from '@angular/core';
@Component({
selector: 'deposit-datasets',
template: `
-
+
`
})
diff --git a/portal-2/src/app/deposit/depositDatasetsResult.component.ts b/portal-2/src/app/deposit/depositDatasetsResult.component.ts
index 1cd59fe4..8f62b636 100644
--- a/portal-2/src/app/deposit/depositDatasetsResult.component.ts
+++ b/portal-2/src/app/deposit/depositDatasetsResult.component.ts
@@ -3,7 +3,7 @@ import {Component} from '@angular/core';
@Component({
selector: 'deposit-datasets-result',
template: `
-
+
`
})
diff --git a/portal-2/src/app/deposit/depositPublications.component.ts b/portal-2/src/app/deposit/depositPublications.component.ts
index 3a884d37..5669e685 100644
--- a/portal-2/src/app/deposit/depositPublications.component.ts
+++ b/portal-2/src/app/deposit/depositPublications.component.ts
@@ -3,7 +3,7 @@ import {Component} from '@angular/core';
@Component({
selector: 'deposit-publications',
template: `
-
+
diff --git a/portal-2/src/app/deposit/depositPublicationsResult.component.ts b/portal-2/src/app/deposit/depositPublicationsResult.component.ts
index 2fc51f23..c7da81eb 100644
--- a/portal-2/src/app/deposit/depositPublicationsResult.component.ts
+++ b/portal-2/src/app/deposit/depositPublicationsResult.component.ts
@@ -3,7 +3,7 @@ import {Component} from '@angular/core';
@Component({
selector: 'deposit-publications-result',
template: `
-
+
`
})
diff --git a/portal-2/src/app/searchPages/dataProviders/compatibleDataProviders.component.ts b/portal-2/src/app/searchPages/dataProviders/compatibleDataProviders.component.ts
index b042264f..a05309b9 100644
--- a/portal-2/src/app/searchPages/dataProviders/compatibleDataProviders.component.ts
+++ b/portal-2/src/app/searchPages/dataProviders/compatibleDataProviders.component.ts
@@ -129,7 +129,7 @@ export class SearchCompatibleDataprovidersComponent {
}
private createFilters():Filter[] {
var filter_names=["Type","Compatibility Level"];
- var filter_ids=["datasourcetypeuiid","datasourcecompatibilityid"];
+ var filter_ids=["datasourcetypeuiid","datasourcecompatibilityname"];
var searchFields = new SearchFields();
var filter_original_ids = searchFields.COMPATIBLE_DATAPROVIDER_FIELDS;
var value_names=[
@@ -143,7 +143,8 @@ export class SearchCompatibleDataprovidersComponent {
var value_original_ids=[
["pubsrepository::institutional","pubsrepository::thematic", "pubsrepository::unknown", "aggregator::pubsrepository::thematic","aggregator::pubsrepository::institutional","aggregator::pubsrepository::unknown",
"datarepository::unknown", "aggregator::datarepository", "pubsrepository::journal", "aggregator::pubsrepository::journals", "cris", "pubscatalogue::unknown"],
- ["driver","openaire2.0", "driver-openaire2.0", "openaire3.0","openaire2.0_data"]];
+ //["driver","openaire2.0", "driver-openaire2.0", "openaire3.0","openaire2.0_data"]
+ ["OpenAIRE Basic (DRIVER OA)","OpenAIRE 2.0 (EC funding)", "OpenAIRE 2.0+ (DRIVER OA, EC funding)", "OpenAIRE 3.0 (OA, funding)","OpenAIRE Data (funded, referenced datasets)"]];
var filters: Filter[] =[];
for(var i =0 ; i < filter_names.length;i++){
var values:Value[] = [];
diff --git a/portal-2/src/app/searchPages/dataProviders/entityRegistries.component.ts b/portal-2/src/app/searchPages/dataProviders/entityRegistries.component.ts
index 282bca55..f09c78c8 100644
--- a/portal-2/src/app/searchPages/dataProviders/entityRegistries.component.ts
+++ b/portal-2/src/app/searchPages/dataProviders/entityRegistries.component.ts
@@ -129,7 +129,7 @@ export class SearchEntityRegistriesComponent {
}
private createFilters():Filter[] {
var filter_names=["Type","Compatibility Level"];
- var filter_ids=["datasourcetypeid","datasourcecompatibilityid"];
+ var filter_ids=["datasourcetypename","datasourcecompatibilityname"];
var searchFields = new SearchFields();
var filter_original_ids = searchFields.ENTITY_REGISTRIES_FIELDS;
var value_names=[
@@ -138,8 +138,10 @@ export class SearchEntityRegistriesComponent {
["OpenAIRE Basic (DRIVER OA)","OpenAIRE 2.0 (EC funding)", "OpenAIRE 2.0+ (DRIVER OA, EC funding)", "OpenAIRE 3.0 (OA, funding)","OpenAIRE Data (funded, referenced datasets)"]];
var value_original_ids=[
- ["entityregistry::projects","entityregistry::repositories","scholarcomminfra","entityregistry","infospace","websource"],
- ["driver","openaire2.0", "driver-openaire2.0", "openaire3.0","openaire2.0_data"]];
+ ["Funder database","Registry of repositories","Scholarly Comm. Infrastructure","Registry","Information Space","Web Source"],
+ //["entityregistry::projects","entityregistry::repositories","scholarcomminfra","entityregistry","infospace","websource"],
+ //["driver","openaire2.0", "driver-openaire2.0", "openaire3.0","openaire2.0_data"]
+ ["OpenAIRE Basic (DRIVER OA)","OpenAIRE 2.0 (EC funding)", "OpenAIRE 2.0+ (DRIVER OA, EC funding)", "OpenAIRE 3.0 (OA, funding)","OpenAIRE Data (funded, referenced datasets)"]];
var filters: Filter[] =[];
for(var i =0 ; i < filter_names.length;i++){
diff --git a/portal-2/src/app/searchPages/searchUtils/advancedSearchPage.component.ts b/portal-2/src/app/searchPages/searchUtils/advancedSearchPage.component.ts
index 6e3a849c..7b1c517b 100644
--- a/portal-2/src/app/searchPages/searchUtils/advancedSearchPage.component.ts
+++ b/portal-2/src/app/searchPages/searchUtils/advancedSearchPage.component.ts
@@ -6,6 +6,7 @@ import {SearchResult} from '../../utils/entities/searchResult';
import {SearchFields} from '../../utils/properties/searchFields';
import {SearchUtilsClass} from './searchUtils.class';
import {ModalLoading} from '../../utils/modal/loading.component';
+import {StringUtils} from '../../utils/string-utils.class';
@Component({
selector: 'advanced-search-page',
@@ -78,16 +79,21 @@ export class AdvancedSearchPageComponent {
}
public getSelectedFiltersFromUrl(params){
for(var i=0; i< this.fieldIds.length ; i++){
+
var fieldId = this.fieldIds[i];
- var fieldparam = this.fieldIdsMap[fieldId].param;
+ var fieldparam = (this.fieldIdsMap[fieldId])?this.fieldIdsMap[fieldId].param:"";
+ if(!this.fieldIdsMap[fieldId]){
+
+ console.error("Field: "+fieldId +" not found in fieldIds map");
+ }
var operatorId = this.getOperatorParameter(fieldparam);
if(params[fieldparam] != undefined && params[operatorId] != undefined) {
- var values:string [] = decodeURIComponent(params[fieldparam]).split(",");
- var operators:string [] = decodeURIComponent(params[operatorId]).split(",");
+ var values:string [] = StringUtils.URIDecode(params[fieldparam]).split(/,(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,-1);
+ var operators:string [] = (StringUtils.URIDecode(params[operatorId])).split(/,(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,-1);
if(values.length == operators.length){
for(var j=0; j< values.length ; j++){
- this.selectedFields.push(new AdvancedField(fieldId,fieldparam,this.fieldIdsMap[fieldId].name,this.fieldIdsMap[fieldId].type,values[j],operators[j]) )
+ this.selectedFields.push(new AdvancedField(fieldId,fieldparam,this.fieldIdsMap[fieldId].name,this.fieldIdsMap[fieldId].type,StringUtils.unquote(values[j]),operators[j]) )
}
}
}
@@ -107,13 +113,14 @@ export class AdvancedSearchPageComponent {
fields[this.selectedFields[i].id].values =[];
fields[this.selectedFields[i].id].operators =[];
}
- fields[this.selectedFields[i].id].values.push(this.selectedFields[i].value);
+ fields[this.selectedFields[i].id].values.push(StringUtils.quote(StringUtils.URIEncode(this.selectedFields[i].value)));
fields[this.selectedFields[i].id].operators.push(this.selectedFields[i].operatorId);
}
}
for(var i = 0; i< this.fieldIds.length; i++){
if(fields[this.fieldIds[i]]){
+
params+="&"+this.fieldIdsMap[this.fieldIds[i]].param+"="+fields[this.fieldIds[i]].values.join()+
"&"+this.getOperatorParameter(this.fieldIdsMap[this.fieldIds[i]].param)+"="+fields[this.fieldIds[i]].operators.join()
}
@@ -131,9 +138,9 @@ export class AdvancedSearchPageComponent {
if(this.selectedFields[i].id == "q"){
var op = "";
// if()
- params += (countParams == 0 ? "" : this.selectedFields[i].operatorId) + " " + '"' + encodeURIComponent(this.selectedFields[i].value) + '"' + " ";
+ params += (countParams == 0 ? "" : this.selectedFields[i].operatorId) + " " + '"' + StringUtils.URIEncode(this.selectedFields[i].value) + '"' + " ";
}else if(countParams == 0 && this.selectedFields[i].operatorId == "not"){
- params += " "+ this.selectedFields[i].id + " <> "+'"' + encodeURIComponent(this.selectedFields[i].value) +'"' + " ";
+ params += " "+ this.selectedFields[i].id + " <> "+'"' + StringUtils.URIEncode(this.selectedFields[i].value) +'"' + " ";
}else{
params += (countParams == 0 ? "" : this.selectedFields[i].operatorId + " " ) + this.selectedFields[i].id + this.fieldIdsMap[this.selectedFields[i].id].equalityOperator+'"' + encodeURIComponent(this.selectedFields[i].value) +'"' + " ";
diff --git a/portal-2/src/app/searchPages/searchUtils/searchPage.component.ts b/portal-2/src/app/searchPages/searchUtils/searchPage.component.ts
index f16a7210..36b2ef2d 100644
--- a/portal-2/src/app/searchPages/searchUtils/searchPage.component.ts
+++ b/portal-2/src/app/searchPages/searchUtils/searchPage.component.ts
@@ -5,7 +5,7 @@ import { Filter, Value} from './searchHelperClasses.class';
import {SearchResult} from '../../utils/entities/searchResult';
import {SearchFields} from '../../utils/properties/searchFields';
import {SearchUtilsClass} from './searchUtils.class';
-import {DOI} from '../../utils/string-utils.class';
+import {DOI, StringUtils} from '../../utils/string-utils.class';
import {ModalLoading} from '../../utils/modal/loading.component';
@Component({
@@ -95,7 +95,7 @@ export class SearchPageComponent {
public getQueryParametersFromUrl(params){
//TODO when final search is done-allFqs/fq
- var parameters = "";
+ // var parameters = "";
var allFqs = "";
for(var i=0; i< this.refineFields.length ; i++){
@@ -105,15 +105,15 @@ export class SearchPageComponent {
if(this.queryParameters == undefined){
this.queryParameters = new Map
();
}
- this.queryParameters[filterId]=decodeURIComponent(params[filterId]);
- let values = decodeURIComponent(this.queryParameters[filterId]).split(",");
+ this.queryParameters[filterId]=StringUtils.URIDecode(params[filterId]);
+ let values = (StringUtils.URIDecode(this.queryParameters[filterId])).split(/,(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,-1);
var countvalues = 0;
var fq = "";
for(let value of values) {
countvalues++;
var paramId = this.fieldIdsMap[filterId].param;
- parameters+='&' + paramId+ '='+ value;//+"&" + this.fieldIdsMap[paramId].operator + "="+((countvalues == 1)?"and":"or");
- fq+=(fq.length > 0 ? " " + "or" + " ":"" ) + filterId +" exact " + this.quote(value) ;
+ // parameters+='&' + paramId+ '='+ value;//+"&" + this.fieldIdsMap[paramId].operator + "="+((countvalues == 1)?"and":"or");
+ fq+=(fq.length > 0 ? " " + "or" + " ":"" ) + filterId +" exact " +value;// StringUtils.quote(value) ;
}
if(countvalues > 0){
fq="&fq="+fq;
@@ -138,14 +138,14 @@ export class SearchPageComponent {
doiQuery += "&q=("+doisParams+")"
}
}else{
- keywordQuery += "&q=("+this.quote(keyword) +")"
+ keywordQuery += "&q=("+StringUtils.quote(StringUtils.URIEncode(keyword)) +")";
}
}
return (doiQuery.length > 0 ? doiQuery:keywordQuery) + allFqs;
}
public getIndexQueryParametersFromUrl(params){
- var parameters = "";
+ // var parameters = "";
var allFqs = "";
for(var i=0; i< this.refineFields.length ; i++){
@@ -156,14 +156,14 @@ export class SearchPageComponent {
this.queryParameters = new Map();
}
this.queryParameters[filterId]=decodeURIComponent(params[filterId]);
- let values = decodeURIComponent(this.queryParameters[filterId]).split(",");
+ let values = (decodeURIComponent(this.queryParameters[filterId])).split(/,(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,-1);
var countvalues = 0
for(let value of values) {
countvalues++;
- parameters+= ((countvalues == 1)?" and (":" or ")+ filterId+ '='+ value;
- fq+=(fq.length > 0 ? " " + "or" + " ":"" ) + filterId + " exact " + this.quote(value);
+ // parameters+= ((countvalues == 1)?" and (":" or ")+ filterId+ '='+ value;
+ fq+=(fq.length > 0 ? " " + "or" + " ":"" ) + filterId + " exact " + value;//StringUtils.quote(value);
}
- parameters+= " ) ";
+ // parameters+= " ) ";
if(countvalues > 0){
fq="&fq="+fq;
}
@@ -186,7 +186,7 @@ export class SearchPageComponent {
doiQuery += "and ("+doisParams+")"
}
}else{
- keywordQuery += "and ("+this.quote(keyword) +")"
+ keywordQuery += "and ("+StringUtils.quote(StringUtils.URIEncode(keyword)) +")";
}
}
@@ -202,9 +202,11 @@ export class SearchPageComponent {
var filter:Filter = filters[i];
filter.countSelectedValues = 0;
if(this.queryParameters[filter.filterId] != undefined) {
- let values = decodeURIComponent(this.queryParameters[filter.filterId]).split(",");
+ let values = (decodeURIComponent(this.queryParameters[filter.filterId])).split(/,(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,-1);
+ console.log("Values"+values +" -- "+values.length);
for(let filterValue of filter.values) {
- if(values.indexOf(filterValue.id) > -1) {
+ console.log("Filter id"+StringUtils.quote(filterValue.id));
+ if(values.indexOf(StringUtils.quote(filterValue.id)) > -1) {
filterValue.selected = true;
filter.countSelectedValues++;
}else{
@@ -237,7 +239,7 @@ export class SearchPageComponent {
if(filter.countSelectedValues > 0){
for (let value of filter.values){
if(value.selected == true){
- filterLimits+=((filterLimits.length == 0)?'':',') + encodeURIComponent(value.id);
+ filterLimits+=((filterLimits.length == 0)?'':',') +'"'+ StringUtils.URIEncode(value.id)+'"';
}
}
this.queryParameters[filter.filterId]=filterLimits;
@@ -264,7 +266,7 @@ export class SearchPageComponent {
for (let value of filter.values){
if(value.selected == true){
count_selected++;
- fq+=(fq.length > 0 ? " " + filter.filterOperator + " ":"" ) + filter.filterId + " exact " + this.quote(value.id);
+ fq+=(fq.length > 0 ? " " + filter.filterOperator + " ":"" ) + filter.filterId + " exact " + StringUtils.quote(StringUtils.URIEncode(value.id));
}
}
fq="&fq="+fq;
@@ -284,10 +286,10 @@ export class SearchPageComponent {
if(doisParams.length > 0){
doiQuery += "&q=("+doisParams+")"
}else{
- keywordQuery += "&q=("+this.quote(this.searchUtils.keyword) +")"
+ keywordQuery += "&q=("+StringUtils.quote(StringUtils.URIEncode(this.searchUtils.keyword)) +")"
}
}else{
- keywordQuery += "&q=("+this.quote(this.searchUtils.keyword) +")"
+ keywordQuery += "&q=("+StringUtils.quote(StringUtils.URIEncode(this.searchUtils.keyword)) +")"
}
}
@@ -303,7 +305,7 @@ export class SearchPageComponent {
for (let value of filter.values){
if(value.selected == true){
count_selected++;
- fq+=(fq.length > 0 ? " " + filter.filterOperator + " ":"" ) + filter.filterId + " exact " + this.quote(value.id);
+ fq+=(fq.length > 0 ? " " + filter.filterOperator + " ":"" ) + filter.filterId + " exact " + StringUtils.quote(StringUtils.URIEncode(value.id));
}
}
if(count_selected > 0){
@@ -325,7 +327,7 @@ export class SearchPageComponent {
doiQuery += " and ("+doisParams+")"
}
}else{
- keywordQuery += " and ("+this.quote(this.searchUtils.keyword) +")"
+ keywordQuery += " and ("+StringUtils.quote(StringUtils.URIEncode(this.searchUtils.keyword)) +")"
}
}
@@ -466,9 +468,7 @@ export class SearchPageComponent {
}
return "&refine=true"+fieldsStr;
}
- private quote(params: string):string {
- return encodeURIComponent('"'+params+'"');
- }
+
// for loading
public openLoading(){
if(this.loading){
diff --git a/portal-2/src/app/services/ISVocabularies.service.ts b/portal-2/src/app/services/ISVocabularies.service.ts
index 12dc23b3..e53450c4 100644
--- a/portal-2/src/app/services/ISVocabularies.service.ts
+++ b/portal-2/src/app/services/ISVocabularies.service.ts
@@ -41,7 +41,7 @@ export class ISVocabulariesService {
vocabulary = "dnet:access_modes.json";
return this.getVocabularyFromService(vocabulary);
- } else if( (field == "datasourcetype") && (entity == "dataprovider")){
+ } else if( (field == "type") && (entity == "dataprovider")){
// file = "dataProviderType.json";
// return this.getVocabularyFromFile(file);
vocabulary = "dnet:datasource_typologies.json";
@@ -59,7 +59,10 @@ export class ISVocabulariesService {
vocabulary = "dnet:countries.json";
return this.getVocabularyFromService(vocabulary);
+ }else{
+ console.error("No vocabulary found: "+field + " " + entity);
}
+
return null;
}
@@ -100,7 +103,7 @@ export class ISVocabulariesService {
var array:AutoCompleteValue[] =[]
for(var i = 0; i < data.length; i++){
var value:AutoCompleteValue = new AutoCompleteValue();
- value.id = data[i].code;
+ value.id = data[i].englishName;//data[i].code;
value.label = data[i].englishName;
array.push(value);
}
diff --git a/portal-2/src/app/services/entitySearch.service.ts b/portal-2/src/app/services/entitySearch.service.ts
index 10077d13..1457ae3e 100644
--- a/portal-2/src/app/services/entitySearch.service.ts
+++ b/portal-2/src/app/services/entitySearch.service.ts
@@ -7,6 +7,7 @@ import 'rxjs/add/observable/of';
import 'rxjs/add/operator/do';
import 'rxjs/add/operator/share';
import { CacheService } from '../shared/cache.service';
+import {StringUtils} from '../utils/string-utils.class';
@Injectable()
export class EntitiesSearchService {
@@ -33,7 +34,7 @@ export class EntitiesSearchService {
"(reldatasourcecompatibilityid=driver or reldatasourcecompatibilityid=driver-openaire2.0 or reldatasourcecompatibilityid=openaire2.0 or reldatasourcecompatibilityid=openaire3.0 or reldatasourcecompatibilityid=openaire2.0_data or reldatasourcecompatibilityid=hostedBy or relprojectid=*))"+
" and ((organizationlegalname all "+'"'+keyword+'"'+") or (organizationlegalshortname all "+'"'+keyword+'"'+")) " +
// "and " + this.quote(params) + " " +
- "and (collectedfromdatasourcename exact "+DepositType+")) "
+ "and (collectedfrom exact "+StringUtils.quote(StringUtils.URIEncode(DepositType))+")) "
}
@@ -47,6 +48,9 @@ export class EntitiesSearchService {
request = request.json().results;
console.log(request);
return this.parse(request,"oaf:organization","organization");
+ }).catch((ex) => {
+ console.error('An error occured', ex);
+ return null;
});
}
searchByType(keyword:string,type:string){
@@ -114,6 +118,9 @@ private fetch (link,id,oafEntityType,type){
{
request = request.json().results;
return this.parse(request,oafEntityType,type);
+ }).catch((ex) => {
+ console.error('An error occured', ex);
+ return null;
});
diff --git a/portal-2/src/app/utils/entitiesAutoComplete.component.ts b/portal-2/src/app/utils/entitiesAutoComplete.component.ts
index 03c5de78..22ccd4ad 100644
--- a/portal-2/src/app/utils/entitiesAutoComplete.component.ts
+++ b/portal-2/src/app/utils/entitiesAutoComplete.component.ts
@@ -28,8 +28,9 @@ import {EntitiesSearchService} from '../services/entitySearch.service';
Loading...
0" class="uk-alert uk-alert-warning" data-uk-alert="">{{warningMessage}}
+ An error Occured
0" > {{results}} results found:
- No results found
+ No results found
{{truncate(showItem(item),19)}}
@@ -65,6 +66,7 @@ export class EntitiesAutocompleteComponent {
public sub;
public done = false;
public showLoading:boolean = false;
+ public showError:boolean = false;
public searchTermStream = new Subject();
filtered: Observable<{}> ;
// public numFilteredResults:number = 0;
@@ -88,7 +90,13 @@ export class EntitiesAutocompleteComponent {
.switchMap((term: string) => {
var results = this._search.searchProjectsByFunder(term, (this.funderId == "0"?"":this.funderId));
this.showLoading = false;
+ this.showError=false;
+ if(results == null){
+ this.showError = true;
+ this.results =0;
+ }else{
this.results = results.length;
+ }
return results;
});
}else if(this.entityType == "organization" && this.depositType ){
diff --git a/portal-2/src/app/utils/properties/openaireProperties.ts b/portal-2/src/app/utils/properties/openaireProperties.ts
index 0d9b6b53..86f469a0 100644
--- a/portal-2/src/app/utils/properties/openaireProperties.ts
+++ b/portal-2/src/app/utils/properties/openaireProperties.ts
@@ -37,23 +37,23 @@ export class OpenaireProperties {
// private static searchAPIURL = " http://beta.services.openaire.eu/search/v2/api/";
// private searchAPIURL = "http://beta.services.openaire.eu:8480/search/rest/v2.0/api/";
- private static searchAPIURL = " http://beta.services.openaire.eu/search/v2/api/";
+ private static searchAPIURL = "http://rudie.di.uoa.gr:6081/dnet-functionality-services-2.0.0-SNAPSHOT/rest/v2/api/";
//"http://scoobydoo.di.uoa.gr:8080/dnet-functionality-services-2.0.0-SNAPSHOT/rest/v2/api/";
// private static searchAPIURLLAst = " http://beta.services.openaire.eu/search/v2/api/";
- private static searchAPIURLLAst = " http://beta.services.openaire.eu/search/v2/api/";
+ private static searchAPIURLLAst = "http://rudie.di.uoa.gr:6081/dnet-functionality-services-2.0.0-SNAPSHOT/rest/v2/api/";
//private static searchAPIURLLAst = "http://scoobydoo.di.uoa.gr:8080/dnet-functionality-services-2.0.0-SNAPSHOT/rest/v2/api/";
//private static searchAPIURLLAst = "http://rudie.di.uoa.gr:8080/dnet-functionality-services-2.0.0-SNAPSHOT/rest/v2/api/";
// private static searchResourcesAPIURL = " http://beta.services.openaire.eu/search/v2/api/resources";
- private static searchResourcesAPIURL = " http://beta.services.openaire.eu/search/v2/api/resources";
+ private static searchResourcesAPIURL = "http://rudie.di.uoa.gr:6081/dnet-functionality-services-2.0.0-SNAPSHOT/rest/v2/api/resources";
//private static searchServiveURL = "http://astero.di.uoa.gr:8080/dnet-functionality-services-2.0.0-SNAPSHOT/";
- private static searchServiveURL = "http://beta.services.openaire.eu:8480/search/";
+ private static searchServiveURL = "http://rudie.di.uoa.gr:6081/dnet-functionality-services-2.0.0-SNAPSHOT/rest/";
// private static searchServiveURL = "http://services.openaire.eu:8380/search/";
// private static searchServiveURL = "http://beta.services.openaire.eu:8480/search/";
- private static csvAPIURL = " http://beta.services.openaire.eu/search/v2/api/";//publications?format=csv
+ private static csvAPIURL = "http://rudie.di.uoa.gr:6081/dnet-functionality-services-2.0.0-SNAPSHOT/rest/rest/v2/api/";//publications?format=csv
private static searchCrossrefAPIURL = "http://api.crossref.org/works";
private static searchDataciteAPIURL = "http://search.datacite.org/api";
diff --git a/portal-2/src/app/utils/properties/searchFields.ts b/portal-2/src/app/utils/properties/searchFields.ts
index 3e45e681..f9b0ec86 100644
--- a/portal-2/src/app/utils/properties/searchFields.ts
+++ b/portal-2/src/app/utils/properties/searchFields.ts
@@ -7,10 +7,10 @@ export class SearchFields {
"relfundinglevel0_id","relfundinglevel1_id","relfundinglevel2_id",
"resultacceptanceyear","resultbestlicense"];//,"collectedfrom"];
- public RESULT_ADVANCED_FIELDS:string[] = ["q","resulttitle","relperson","resultpublisher","instancetypenameid",
- "resultlanguageid", "community","relprojectid", "relfunderid",
+ public RESULT_ADVANCED_FIELDS:string[] = ["q","resulttitle","relperson","resultpublisher","instancetypename",
+ "resultlanguagename", "community","relprojectid", "relfunderid",
"relfundinglevel0_id","relfundinglevel1_id","relfundinglevel2_id",
- "resultacceptanceyear","resultbestlicenseid","pid","resulthostingdatasourceid","collectedfromdatasourceid","relpersonid"];
+ "resultacceptanceyear","resultbestlicense","pid","resulthostingdatasourceid","collectedfromdatasourceid","relpersonid"];
public RESULT_FIELDS: { [key:string]:FieldDetails}={
["q"]:{name:"All fields", type:"keyword", param:"q", equalityOperator: "="},
["resulttitle"]:{name:"Title", type:"keyword", param:"title", equalityOperator: "="},
@@ -19,10 +19,10 @@ export class SearchFields {
["pid"]:{name:"PID", type:"keyword", param:"pid", equalityOperator: " = "},
["resulthostingdatasourceid"]:{name:"Hosting Data Provider", type:"entity", param:"hostedBy", equalityOperator: " exact "},
["relpersonid"]:{name:"Person", type:"entity", param:"person", equalityOperator: " exact "},
- ["instancetypename"]:{name:"Type", type:"refine", param:"type", equalityOperator: " exact "},
- ["instancetypenameid"]:{name:"Type", type:"vocabulary", param:"type", equalityOperator: " exact "},
- ["resultlanguagename"]:{name:"Language", type:"refine", param:"lang", equalityOperator: " exact "},
- ["resultlanguageid"]:{name:"Language", type:"vocabulary", param:"lang", equalityOperator: " exact "},
+ ["instancetypename"]:{name:"Type", type:"vocabulary", param:"type", equalityOperator: " exact "},
+ // ["instancetypenameid"]:{name:"Type", type:"vocabulary", param:"type", equalityOperator: " exact "},
+ ["resultlanguagename"]:{name:"Language", type:"vocabulary", param:"lang", equalityOperator: " exact "},
+ // ["resultlanguageid"]:{name:"Language", type:"vocabulary", param:"lang", equalityOperator: " exact "},
["community"]:{name:"Community", type:"refine", param:"community", equalityOperator: " exact "},
["relproject"]:{name:"Project", type:"refine", param:"project", equalityOperator: " exact "},
["relprojectid"]:{name:"Project", type:"entity", param:"project", equalityOperator: " exact "},
@@ -31,8 +31,8 @@ export class SearchFields {
["relfundinglevel1_id"]:{name:"Funding Substream level 1", type:"refine", param:"funderlv1", equalityOperator: " exact "},
["relfundinglevel2_id"]:{name:"Funding Substream level 2", type:"refine", param:"funderlv2", equalityOperator: " exact "},
["resultacceptanceyear"]:{name:"Year", type:"year", param:"year", equalityOperator: " exact "},
- ["resultbestlicense"]:{name:"Access Mode", type:"refine", param:"access", equalityOperator: " exact "},
- ["resultbestlicenseid"]:{name:"Access Mode", type:"vocabulary", param:"access", equalityOperator: " exact "},
+ ["resultbestlicense"]:{name:"Access Mode", type:"vocabulary", param:"access", equalityOperator: " exact "},
+ // ["resultbestlicenseid"]:{name:"Access Mode", type:"refine", param:"access", equalityOperator: " exact "},
["collectedfrom"]:{name:"Datasource", type:"refine", param:"datasource", equalityOperator: " exact "},
["collectedfromdatasourceid"]:{name:"Collected from Data Provider", type:"entity", param:"collectedFrom", equalityOperator: " exact "}
};
@@ -70,8 +70,8 @@ export class SearchFields {
public DATASOURCE_REFINE_FIELDS:string[] = ["datasourcetypeuiname", "datasourceodlanguages", "datasourceodcontenttypes",
"datasourcecompatibilityname"];
public DATASOURCE_ADVANCED_FIELDS:string[] = ["q", "datasourceofficialname",
- "datasourceenglishname","datasourceodsubjects", "datasourcetypeid","datasourceodlanguages",
- "datasourceodcontenttypes", "datasourcecompatibilityid","relorganizationid", "collectedfromdatasourceid"];
+ "datasourceenglishname","datasourceodsubjects", "datasourcetypename","datasourceodlanguages",
+ "datasourceodcontenttypes", "datasourcecompatibilityname","relorganizationid", "collectedfromdatasourceid"];
public DATASOURCE_FIELDS: { [key:string]:FieldDetails}={
["q"]:{name:"All fields", type:"keyword", param:"q", equalityOperator: "="},
@@ -80,31 +80,30 @@ export class SearchFields {
["datasourceodsubjects"]:{name:"Subject", type:"keyword", param:"subjects", equalityOperator: "="},
["datasourcetypeuiid"]:{name:"Type", type:"refine", param:"type", equalityOperator: " exact "},
["datasourcetypeuiname"]:{name:"Type", type:"refine", param:"type", equalityOperator: " exact "},
- ["datasourcetypeid"]:{name:"Type", type:"vocabulary", param:"type", equalityOperator: " exact "},
+ ["datasourcetypename"]:{name:"Type", type:"vocabulary", param:"type", equalityOperator: " exact "},
["datasourceodlanguages"]:{name:"Language", type:"vocabulary", param:"lang", equalityOperator: " exact "},
["datasourceodcontenttypes"]:{name:"Content", type:"refine", param:"content", equalityOperator: " exact "},
- ["datasourcecompatibilityid"]:{name:"Compatibility Level", type:"vocabulary", param:"compatibility", equalityOperator: " exact "},
- ["datasourcecompatibilityname"]:{name:"Compatibility Level", type:"refine", param:"compatibility", equalityOperator: " exact "},
+ ["datasourcecompatibilityid"]:{name:"Compatibility Level", type:"refine", param:"compatibility", equalityOperator: " exact "},
+ ["datasourcecompatibilityname"]:{name:"Compatibility Level", type:"vocabulary", param:"compatibility", equalityOperator: " exact "},
["relorganizationid"]:{name:"Organization", type:"entity", param:"organization", equalityOperator: " exact "},
["collectedfromdatasourceid"]:{name:"Collected from Data Provider", type:"entity", param:"collectedFrom", equalityOperator: " exact "}
};
- public COMPATIBLE_DATAPROVIDER_FIELDS:string[] = ["datasourcetypeuiid","datasourcecompatibilityid"];
- public ENTITY_REGISTRIES_FIELDS:string[] = ["datasourcetypeid","datasourcecompatibilityid"];
+ public COMPATIBLE_DATAPROVIDER_FIELDS:string[] = ["datasourcetypeuiname","datasourcecompatibilityname"];
+ public ENTITY_REGISTRIES_FIELDS:string[] = ["datasourcetypename","datasourcecompatibilityname"];
//ORGANIZATION
public ORGANIZATION_REFINE_FIELDS:string[] = ["organizationcountryname"]
- public ORGANIZATION_ADVANCED_FIELDS:string[] = ["q",
- "organizationlegalname","organizationlegalshortname","organizationcountryid"];
+ public ORGANIZATION_ADVANCED_FIELDS:string[] = ["q", "organizationlegalname","organizationlegalshortname","organizationcountryname"];
public ORGANIZATION_FIELDS: { [key:string]:FieldDetails}={
["q"]:{name:"All fields", type:"keyword", param:"q", equalityOperator: "="},
["organizationlegalname"]:{name:"Legal Name", type:"keyword", param:"name", equalityOperator: "="},
["organizationlegalshortname"]:{name:"Legal Short Name", type:"keyword", param:"shortname", equalityOperator: "="},
- ["organizationcountryid"]:{name:"Country", type:"vocabulary", param:"country", equalityOperator: "="},
- ["organizationcountryname"]:{name:"Country", type:"refine", param:"country", equalityOperator: "="}
+ ["organizationcountryname"]:{name:"Country", type:"vocabulary", param:"country", equalityOperator: "="},
+ // ["organizationcountryname"]:{name:"Country", type:"refine", param:"country", equalityOperator: "="}
};
public ORGANIZATION_INDEX:string[] = ["organizationcountryname"]//,"organizationeclegalbody"];
public ADVANCED_SEARCH_ORGANIZATION_PARAM:string[] = ["q","contenttype","compatibility","country","type"];
diff --git a/portal-2/src/app/utils/string-utils.class.ts b/portal-2/src/app/utils/string-utils.class.ts
index f4c7d8bf..e1e418a0 100644
--- a/portal-2/src/app/utils/string-utils.class.ts
+++ b/portal-2/src/app/utils/string-utils.class.ts
@@ -72,3 +72,21 @@ export class DOI{
}
}
+export class StringUtils{
+ public static quote(params: string):string {
+ return '"'+params+'"';
+ }
+
+ public static unquote(params: string):string {
+ if(params.length > 2 && (params[0]=='"' && params[params.length-1]=='"') || (params[0]=="'" && params[params.length-1]=="'")){
+ params= params.substring(1, params.length-1);
+ }
+ return params;
+ }
+ public static URIEncode(params: string):string {
+ return encodeURIComponent(params);
+ }
+ public static URIDecode(params: string):string {
+ return decodeURIComponent(params);
+ }
+}