Fixes bug and efficiency on fetching DMPs.

This commit is contained in:
gkolokythas 2019-05-29 12:02:47 +03:00
parent 7bac52267a
commit 2453cde47f
3 changed files with 6 additions and 12 deletions

View File

@ -100,7 +100,7 @@ public class DMP implements DataEntity<DMP, UUID> {
joinColumns = {@JoinColumn(name = "\"dmp\"", referencedColumnName = "\"ID\"")}, joinColumns = {@JoinColumn(name = "\"dmp\"", referencedColumnName = "\"ID\"")},
inverseJoinColumns = {@JoinColumn(name = "\"datasetprofile\"", referencedColumnName = "\"ID\"")} inverseJoinColumns = {@JoinColumn(name = "\"datasetprofile\"", referencedColumnName = "\"ID\"")}
) )
private List<DatasetProfile> associatedDmps; private Set<DatasetProfile> associatedDmps;
@ManyToOne(fetch = FetchType.LAZY) @ManyToOne(fetch = FetchType.LAZY)
@ -237,10 +237,10 @@ public class DMP implements DataEntity<DMP, UUID> {
this.project = project; this.project = project;
} }
public List<DatasetProfile> getAssociatedDmps() { public Set<DatasetProfile> getAssociatedDmps() {
return associatedDmps; return associatedDmps;
} }
public void setAssociatedDmps(List<DatasetProfile> associatedDmps) { public void setAssociatedDmps(Set<DatasetProfile> associatedDmps) {
this.associatedDmps = associatedDmps; this.associatedDmps = associatedDmps;
} }

View File

@ -262,7 +262,7 @@ public class DataManagementPlan implements DataModel<DMP, DataManagementPlan> {
associatedProfileDoc.appendChild(associatedProfilesElement); associatedProfileDoc.appendChild(associatedProfilesElement);
dataManagementPlanEntity.setAssociatedDmps(XmlBuilder.generateXml(associatedProfileDoc));*/ dataManagementPlanEntity.setAssociatedDmps(XmlBuilder.generateXml(associatedProfileDoc));*/
List<DatasetProfile> datasetProfiles = new LinkedList<>(); Set<DatasetProfile> datasetProfiles = new HashSet<>();
for (AssociatedProfile profile : this.profiles) { for (AssociatedProfile profile : this.profiles) {
datasetProfiles.add(profile.toData()); datasetProfiles.add(profile.toData());
} }

View File

@ -175,7 +175,8 @@ public class DataManagementPlanNewVersionModel implements DataModel<DMP, DataMan
if (this.researchers != null && !this.researchers.isEmpty()) if (this.researchers != null && !this.researchers.isEmpty())
entity.setResearchers(new HashSet<>(this.researchers.stream().map(item -> item.toDataModel()).collect(Collectors.toList()))); entity.setResearchers(new HashSet<>(this.researchers.stream().map(item -> item.toDataModel()).collect(Collectors.toList())));
if (this.project != null) entity.setProject(this.project.toDataModel()); if (this.project != null) entity.setProject(this.project.toDataModel());
if (this.profiles != null) { if (this.profiles != null)
entity.setAssociatedDmps(this.profiles.stream().map(x -> x.toData()).collect(Collectors.toSet()));
/*Document associatedProfileDoc = XmlBuilder.getDocument(); /*Document associatedProfileDoc = XmlBuilder.getDocument();
Element associatedProfilesElement = associatedProfileDoc.createElement("profiles"); Element associatedProfilesElement = associatedProfileDoc.createElement("profiles");
for (AssociatedProfile associatedProfile : this.profiles) { for (AssociatedProfile associatedProfile : this.profiles) {
@ -183,13 +184,6 @@ public class DataManagementPlanNewVersionModel implements DataModel<DMP, DataMan
} }
associatedProfileDoc.appendChild(associatedProfilesElement); associatedProfileDoc.appendChild(associatedProfilesElement);
entity.setAssociatedDmps(XmlBuilder.generateXml(associatedProfileDoc));*/ entity.setAssociatedDmps(XmlBuilder.generateXml(associatedProfileDoc));*/
List<DatasetProfile> datasetProfiles = new LinkedList<>();
for (AssociatedProfile profile : this.profiles) {
datasetProfiles.add(profile.toData());
}
entity.setAssociatedDmps(datasetProfiles);
}
return entity; return entity;
} }