diff --git a/dmp-backend/core/src/main/java/eu/eudat/service/reference/ReferenceServiceImpl.java b/dmp-backend/core/src/main/java/eu/eudat/service/reference/ReferenceServiceImpl.java index 56e0106cc..2060e2e8b 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/service/reference/ReferenceServiceImpl.java +++ b/dmp-backend/core/src/main/java/eu/eudat/service/reference/ReferenceServiceImpl.java @@ -192,12 +192,7 @@ public class ReferenceServiceImpl implements ReferenceService { } List models = this.fetchReferenceFromDb(lookup); - - for (Reference externalReference : externalModels){ - if (models.stream().noneMatch(x-> x.getReference() != null && x.getSource() != null && x.getReference().equals(externalReference.getReference()) && x.getSource().equals(externalReference.getSource()))) models.add(externalReference); - } - - if (!this.conventionService.isNullOrEmpty(like)) { models = models.stream().filter(x -> x.getLabel().toLowerCase(Locale.ROOT).toLowerCase().contains(like.toLowerCase(Locale.ROOT))).collect(Collectors.toList()); } + models.addAll(externalModels); models = models.stream().sorted(Comparator.comparing(Reference::getLabel, Comparator.nullsFirst(Comparator.naturalOrder()))).collect(Collectors.toList()); if (lookup.getPage() != null && !lookup.getPage().isEmpty()){ diff --git a/dmp-db-scema/updates/00.01.060_Insert_values.sql b/dmp-db-scema/updates/00.01.060_Insert_values.sql index 98e754206..b58a054ec 100644 --- a/dmp-db-scema/updates/00.01.060_Insert_values.sql +++ b/dmp-db-scema/updates/00.01.060_Insert_values.sql @@ -24,7 +24,7 @@ BEGIN INSERT INTO public."ReferenceType" VALUES ('3d372db5-a456-45e6-a845-e41e1a8311f8', 'projects', 'projects', 'project11', 1, '2023-11-17 08:55:05.190807', '2023-11-17 08:56:23.012619', NULL); INSERT INTO public."ReferenceType" VALUES ('51225b6a-86a6-48ac-9192-f15096dbcb8a', 'publications', 'publications', 'openaire100falseapplication/json;charset=UTF-8remote00$[''meta''][''pagination''][''page'',''pages'',''count'']{like}*likereference_idoriginalIdlabeltitledescriptiontitlepid[''pid''][''content'']pidTypeField[''pid''][''classid'']$[''results''][*][''result''][''metadata''][''oaf:entity''][''oaf:result'']https://services.openaire.eu/search/v2/api/resources?query=oaftype exact result and {like}&page={page}&size={pageSize}&format=json', 1, '2023-11-16 13:07:20.591433', '2024-02-19 08:23:49.91191', NULL); INSERT INTO public."ReferenceType" VALUES ('538928bb-c7c6-452e-b66d-08e539f5f082', 'funders', 'funders', 'openaire101falseapplication/json; charset=utf-8local00$[*]reference_ididlabelnamedescriptionname$[''refineResults''][''relfunder''][*]https://services.openaire.eu/search/v2/api/publications?&refine=true&fields=relfunder&page={page}&size=0&format=json', 1, '2023-11-16 11:22:57.942097', '2024-02-16 09:16:19.195353', NULL); - INSERT INTO public."ReferenceType" VALUES ('5a2112e7-ea99-4cfe-98a1-68665e26726e', 'researchers', 'researchers', 'orcid100falseapplication/json; charset=UTF-8remote00$[''num-found'']{like}*likereference_idorcid-idlabelinstitution-namedescriptioninstitution-namefistNamefamily-nameslastNamegiven-names$[''expanded-result''][*]https://pub.orcid.org/v3.0/expanded-search/?q={like}&start={page}&rows={pageSize}', 1, '2023-11-16 18:21:43.272982', '2024-02-16 14:43:03.12758', NULL); + INSERT INTO public."ReferenceType" VALUES ('5a2112e7-ea99-4cfe-98a1-68665e26726e', 'researchers', 'researchers', 'orcid100falseapplication/json; charset=UTF-8remote00$[''num-found'']^[A-Za-z0-9]+ [A-Za-z0-9]+$ ((given-names:{like1}+AND+family-name:{like2})+OR+(given-names:{like2}+AND+family-name:{like1}))\d{4}-\d{4}-\d{4}-\d{4}orcid:{like}.+given-names:{like}+OR+family-name:{like}*likereference_idorcid-idlabel@{{given-names}} @{{family-names}} (@{{orcid-id}})descriptioninstitution-namefistNamegiven-nameslastNamefamily-names$[''expanded-result''][*]https://pub.orcid.org/v3.0/expanded-search/?q={like}&start={page}&rows={pageSize}', 1, '2023-11-16 18:21:43.272982', '2024-04-17 09:44:53.656849', NULL); INSERT INTO public."ReferenceType" VALUES ('5b9c284f-f041-4995-96cc-fad7ad13289c', 'grants', 'grants', 'openaire1538928bb-c7c6-452e-b66d-08e539f5f08200falseapplication/json; charset=utf-8remote00$[''meta''][''pagination''][''page'',''pages'',''count'']538928bb-c7c6-452e-b66d-08e539f5f082openaire{like}*likereference_idoriginalIdlabeltitledescriptiontitle$[''results''][*][''result''][''metadata''][''oaf:entity''][''oaf:project'']https://services.openaire.eu/search/v2/api/resources?query=((oaftype exact project) and ((projectcode_nt exact "{like}")or({like})))&page={page}&size={pageSize}&format=json', 1, '2023-11-16 16:41:53.106646', '2024-02-19 12:33:49.420526', NULL); INSERT INTO public."ReferenceType" VALUES ('7eeffb98-58fb-4921-82ec-e27f32f8e738', 'organisations', 'organisations', 'openaire100falseapplication/json; charset=utf-8remote00$[''meta''][''pagination''][''page'',''pages'',''count'']{like}likereference_idoriginalIdlabellegalnamedescriptionlegalnamepid[''pid''][''content'']pidTypeField[''pid''][''classid'']$[''results''][*][''result''][''metadata''][''oaf:entity''][''oaf:organization'']https://services.openaire.eu/search/v2/api/organizations/?q={like}&page={page}&size={pageSize}&format=json', 1, '2023-11-17 10:13:15.873808', '2024-02-16 15:35:47.874131', NULL); INSERT INTO public."ReferenceType" VALUES ('8ec7556b-749d-4c4a-a4b9-43d064693795', 'journals', 'journals', 'openaire100falseapplication/jsonremote01$[''meta''][''pagination''][''page'',''pages'',''count'']{like}like{"officialname": "{like}", "typology":"journal"}reference_ididlabelofficialnamedescriptionofficialname$[''datasourceInfo''][*]https://services.openaire.eu/openaire/ds/searchdetails/{page}/{pageSize}?requestSortBy=id&order=ASCENDING', 1, '2023-11-16 17:40:12.811667', '2024-02-16 09:09:22.816978', NULL);