diff --git a/dmp-backend/data/src/main/java/eu/eudat/data/entities/DMP.java b/dmp-backend/data/src/main/java/eu/eudat/data/entities/DMP.java index cbd796ca2..036069e86 100644 --- a/dmp-backend/data/src/main/java/eu/eudat/data/entities/DMP.java +++ b/dmp-backend/data/src/main/java/eu/eudat/data/entities/DMP.java @@ -25,7 +25,12 @@ import java.util.stream.Collectors; name = "fullyDetailed", attributeNodes = { @NamedAttributeNode("grant"), @NamedAttributeNode("profile"), - @NamedAttributeNode("users"), @NamedAttributeNode("organisations"), @NamedAttributeNode("researchers")}), + @NamedAttributeNode(value = "users", subgraph = "users"), @NamedAttributeNode("organisations"), @NamedAttributeNode("researchers") + }, + subgraphs = { + @NamedSubgraph(name = "users", attributeNodes = {@NamedAttributeNode("user")}) + } + ), @NamedEntityGraph( name = "dmpRecentActivity", attributeNodes = { diff --git a/dmp-backend/web/src/main/java/eu/eudat/publicapi/controllers/PublicDmpsDocumentation.java b/dmp-backend/web/src/main/java/eu/eudat/publicapi/controllers/PublicDmpsDocumentation.java index 8e0bf7027..98d7db4ac 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/publicapi/controllers/PublicDmpsDocumentation.java +++ b/dmp-backend/web/src/main/java/eu/eudat/publicapi/controllers/PublicDmpsDocumentation.java @@ -47,6 +47,7 @@ public class PublicDmpsDocumentation extends BaseController { "4.6. version: integer, version of dmp\n" + "4.7. groupId: uuid, group id in which dmp belongs\n" + "4.8. users: list of UserInfoPublicModel, user who collaborated on the dmp\n" + + "4.9. researchers: list of ResearcherPublicModel, researchers involved in the dmp\n" + "4.9. finalizedAt: date, finalization date\n" + "4.10. publishedAt: date, publication date\n"; private static final String getPagedResponseExample = "{\n" + diff --git a/dmp-backend/web/src/main/java/eu/eudat/publicapi/models/listingmodels/DataManagementPlanPublicListingModel.java b/dmp-backend/web/src/main/java/eu/eudat/publicapi/models/listingmodels/DataManagementPlanPublicListingModel.java index 2c0b65c69..074212935 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/publicapi/models/listingmodels/DataManagementPlanPublicListingModel.java +++ b/dmp-backend/web/src/main/java/eu/eudat/publicapi/models/listingmodels/DataManagementPlanPublicListingModel.java @@ -3,12 +3,10 @@ package eu.eudat.publicapi.models.listingmodels; import eu.eudat.data.entities.DMP; import eu.eudat.data.entities.Grant; import eu.eudat.models.DataModel; +import eu.eudat.publicapi.models.researcher.ResearcherPublicModel; import eu.eudat.publicapi.models.user.UserInfoPublicModel; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.UUID; +import java.util.*; import java.util.stream.Collectors; public class DataManagementPlanPublicListingModel implements DataModel { @@ -20,6 +18,7 @@ public class DataManagementPlanPublicListingModel implements DataModel users; + private List researchers; private Date finalizedAt; private Date publishedAt; @@ -79,6 +78,13 @@ public class DataManagementPlanPublicListingModel implements DataModel getResearchers() { + return researchers; + } + public void setResearchers(List researchers) { + this.researchers = researchers; + } + public Date getFinalizedAt() { return finalizedAt; } @@ -125,9 +131,11 @@ public class DataManagementPlanPublicListingModel implements DataModel new UserInfoPublicModel().fromDataModel(x)).collect(Collectors.toList()) : new ArrayList<>(); + this.researchers = entity.getResearchers() != null ? entity.getResearchers().stream().map(x -> new ResearcherPublicModel().fromDataModel(x)).collect(Collectors.toList()) : new ArrayList<>(); } catch(Exception ex){ this.users = new ArrayList<>(); + this.researchers = new ArrayList<>(); } this.finalizedAt = entity.getFinalizedAt(); this.publishedAt = entity.getPublishedAt(); @@ -151,11 +159,12 @@ public class DataManagementPlanPublicListingModel implements DataModel