diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/proxy/config/DataFieldsUrlConfiguration.java b/dmp-backend/web/src/main/java/eu/eudat/logic/proxy/config/DataFieldsUrlConfiguration.java
index 7c746fb85..e027714ed 100644
--- a/dmp-backend/web/src/main/java/eu/eudat/logic/proxy/config/DataFieldsUrlConfiguration.java
+++ b/dmp-backend/web/src/main/java/eu/eudat/logic/proxy/config/DataFieldsUrlConfiguration.java
@@ -15,6 +15,8 @@ public class DataFieldsUrlConfiguration {
private String path;
private String host;
private String types;
+ private String firstName;
+ private String lastName;
public String getId() {
return id;
@@ -94,4 +96,20 @@ public class DataFieldsUrlConfiguration {
public void setTypes(String types) {
this.types = types;
}
+
+ @XmlElement(name = "firstName")
+ public String getFirstName() {
+ return firstName;
+ }
+ public void setFirstName(String firstName) {
+ this.firstName = firstName;
+ }
+
+ @XmlElement(name = "lastName")
+ public String getLastName() {
+ return lastName;
+ }
+ public void setLastName(String lastName) {
+ this.lastName = lastName;
+ }
}
diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/proxy/fetching/RemoteFetcher.java b/dmp-backend/web/src/main/java/eu/eudat/logic/proxy/fetching/RemoteFetcher.java
index 9428c8255..27ed3a22e 100644
--- a/dmp-backend/web/src/main/java/eu/eudat/logic/proxy/fetching/RemoteFetcher.java
+++ b/dmp-backend/web/src/main/java/eu/eudat/logic/proxy/fetching/RemoteFetcher.java
@@ -341,6 +341,17 @@ public class RemoteFetcher {
results = new Results(finalRes,
new HashMap<>(1, 1));
+ } else if (jsonDataPath.getFieldsUrlConfiguration().getFirstName() != null) {
+ results = new Results(jsonContext.read(jsonDataPath.getPath()
+ + "[" + jsonDataPath.getFieldsUrlConfiguration().getId() + "," + jsonDataPath.getFieldsUrlConfiguration().getFirstName()
+ + "," + jsonDataPath.getFieldsUrlConfiguration().getLastName() + "]"),
+ new HashMap<>(1, 1));
+ results.getResults().stream().forEach(entry -> {
+ String name = entry.get(jsonDataPath.getFieldsUrlConfiguration().getFirstName().replace("'", "")) + " " + entry.get(jsonDataPath.getFieldsUrlConfiguration().getLastName().replace("'", ""));
+ entry.put("name", name);
+ entry.remove(jsonDataPath.getFieldsUrlConfiguration().getFirstName().replace("'", ""));
+ entry.remove(jsonDataPath.getFieldsUrlConfiguration().getLastName().replace("'", ""));
+ });
} else {
results = new Results(jsonContext.read(jsonDataPath.getPath()
+ "[" + jsonDataPath.getFieldsUrlConfiguration().getName() + "," + jsonDataPath.getFieldsUrlConfiguration().getDescription()
diff --git a/dmp-backend/web/src/main/resources/externalUrls/ExternalUrls.xml b/dmp-backend/web/src/main/resources/externalUrls/ExternalUrls.xml
index b53a0384e..f923a737a 100644
--- a/dmp-backend/web/src/main/resources/externalUrls/ExternalUrls.xml
+++ b/dmp-backend/web/src/main/resources/externalUrls/ExternalUrls.xml
@@ -697,44 +697,6 @@
$['meta']['pagination']['page','pages','count']
-
orcid
@@ -742,15 +704,15 @@
External
https://pub.sandbox.orcid.org/v3.0/expanded-search/?q={like}&start={page}&rows={pageSize}
0
- application/vnd.orcid+xml; qs=5;charset=UTF-8
+ application/json; charset=UTF-8
- eu.eudat.models.data.external.orcid.ExpandedSearch
- expandedResults
-
- givenNames
- familyName
-
- name
+ $['expanded-result'][*]
+
+ 'orcid-id'
+ 'given-names'
+ 'family-names'
+ 'name'
+
$['num-found']
diff --git a/dmp-backend/web/src/main/resources/externalUrls/ExternalUrlsProduction.xml b/dmp-backend/web/src/main/resources/externalUrls/ExternalUrlsProduction.xml
index ecd11ddb9..3dbc98913 100644
--- a/dmp-backend/web/src/main/resources/externalUrls/ExternalUrlsProduction.xml
+++ b/dmp-backend/web/src/main/resources/externalUrls/ExternalUrlsProduction.xml
@@ -223,6 +223,25 @@
$['meta']['pagination']['page','pages','count']
+
+ orcid
+
+ 2
+ External
+ https://pub.orcid.org/v3.0/expanded-search/?q={like}&start={page}&rows={pageSize}
+ 0
+ application/json; charset=UTF-8
+
+ $['expanded-result'][*]
+
+ 'orcid-id'
+ 'given-names'
+ 'family-names'
+ 'name'
+
+
+ $['num-found']
+
FIRST
diff --git a/dmp-backend/web/src/main/resources/externalUrls/ExternalUrlsStaging.xml b/dmp-backend/web/src/main/resources/externalUrls/ExternalUrlsStaging.xml
index 6f942f028..b5080c894 100644
--- a/dmp-backend/web/src/main/resources/externalUrls/ExternalUrlsStaging.xml
+++ b/dmp-backend/web/src/main/resources/externalUrls/ExternalUrlsStaging.xml
@@ -235,6 +235,25 @@
$['meta']['pagination']['page','pages','count']
+
+ orcid
+
+ 2
+ External
+ https://pub.orcid.org/v3.0/expanded-search/?q={like}&start={page}&rows={pageSize}
+ 0
+ application/json; charset=UTF-8
+
+ $['expanded-result'][*]
+
+ 'orcid-id'
+ 'given-names'
+ 'family-names'
+ 'name'
+
+
+ $['num-found']
+
FIRST