Adds "source" property to Grants fetched from external sources.

This commit is contained in:
gkolokythas 2019-08-27 12:52:21 +03:00
parent 1bd789b924
commit 9281864a70
8 changed files with 41 additions and 1 deletions

View File

@ -42,6 +42,8 @@ public class GrantBuilder extends Builder<Grant> {
private String description;
private String source;
public GrantBuilder id(UUID id) {
this.id = id;
return this;
@ -112,6 +114,11 @@ public class GrantBuilder extends Builder<Grant> {
return this;
}
public GrantBuilder source(String source) {
this.source = source;
return this;
}
@Override
public Grant build() {
Grant grant = new Grant();
@ -129,6 +136,7 @@ public class GrantBuilder extends Builder<Grant> {
grant.setReference(reference);
grant.setCreationUser(creationUser);
grant.setStartDate(startDate);
grant.setSource(source);
return grant;
}
}

View File

@ -127,6 +127,7 @@ public class GrantManager {
.reference(externalListingItem.getRemoteId()).label(externalListingItem.getName())
.description(externalListingItem.getDescription()).uri(externalListingItem.getUri())
.abbreviation(externalListingItem.getAbbreviation()).status(eu.eudat.data.entities.Grant.Status.fromInteger(0))
.source(externalListingItem.getSource())
.build();
grants.add(grant);

View File

@ -10,6 +10,7 @@ public class DataFieldsUrlConfiguration {
private String name;
private String uri;
private String description;
private String source;
public String getId() {
return id;
@ -47,4 +48,13 @@ public class DataFieldsUrlConfiguration {
public void setDescription(String description) {
this.description = description;
}
public String getSource() {
return source;
}
@XmlElement(name = "source")
public void setSource(String source) {
this.source = source;
}
}

View File

@ -192,7 +192,8 @@ public class RemoteFetcher {
DocumentContext jsonContext = JsonPath.parse(con.getInputStream());
Results results = new Results(jsonContext.read(jsonDataPath.getPath()
+ "[" + jsonDataPath.getFieldsUrlConfiguration().getName() + "," + jsonDataPath.getFieldsUrlConfiguration().getDescription()
+ "," + jsonDataPath.getFieldsUrlConfiguration().getUri() + "," + jsonDataPath.getFieldsUrlConfiguration().getId() + "]"),
+ "," + jsonDataPath.getFieldsUrlConfiguration().getUri() + "," + jsonDataPath.getFieldsUrlConfiguration().getId()
+ "," + jsonDataPath.getFieldsUrlConfiguration().getSource() + "]"),
jsonContext.read(jsonPaginationPath));
results.results = results.results.stream().map(e -> e.entrySet().stream().collect(Collectors.toMap(x -> this.transformKey(jsonDataPath,x.getKey()), Map.Entry::getValue)))
.collect(Collectors.toList());
@ -219,6 +220,7 @@ public class RemoteFetcher {
if (key.equals(dataUrlConfiguration.getFieldsUrlConfiguration().getDescription().replace("'",""))) return "description";
if (key.equals(dataUrlConfiguration.getFieldsUrlConfiguration().getUri().replace("'",""))) return "uri";
if (key.equals(dataUrlConfiguration.getFieldsUrlConfiguration().getName().replace("'",""))) return "name";
if (key.equals(dataUrlConfiguration.getFieldsUrlConfiguration().getSource().replace("'",""))) return "source";
return null;
}

View File

@ -9,6 +9,7 @@ public class ExternalSourcesItemModel {
private String remoteId;
private String abbreviation;
private String tag;
private String source;
public String getId() {
return id;
@ -65,4 +66,12 @@ public class ExternalSourcesItemModel {
public void setTag(String tag) {
this.tag = tag;
}
public String getSource() {
return source;
}
public void setSource(String source) {
this.source = source;
}
}

View File

@ -13,6 +13,7 @@ public class GrantsExternalSourcesModel extends ExternalListingItem<GrantsExtern
model.setUri(item.get("uri"));
model.setName(item.get("name"));
model.setDescription(item.get("description"));
model.setSource(item.get("source"));
this.add(model);
}
return this;

View File

@ -31,6 +31,7 @@ public class Grant implements DataModel<eu.eudat.data.entities.Grant, Grant> {
private String description;
private List<ContentFile> files;
private UUID funderId;
private String source;
public UUID getId() {
return id;
@ -151,6 +152,13 @@ public class Grant implements DataModel<eu.eudat.data.entities.Grant, Grant> {
this.funderId = funderId;
}
public String getSource() {
return source;
}
public void setSource(String source) {
this.source = source;
}
@Override
public Grant fromDataModel(eu.eudat.data.entities.Grant entity) {
this.id = entity.getId();

View File

@ -51,6 +51,7 @@
<name>'name'</name>
<uri>'uri'</uri>
<description>'description'</description>
<source>'source'</source>
</fields>
</data>
<paginationpath>$['meta']['pagination']['page','pages','count']</paginationpath>