Added data field on AssociatedProfilePublicModel on public api
This commit is contained in:
parent
bd2a935606
commit
30abd31974
|
@ -46,7 +46,7 @@ public class DmpToPublicApiDmpMapper {
|
||||||
model.setGrant(GrantPublicOverviewModel.fromDmpReferences(dmp.getDmpReferences()));
|
model.setGrant(GrantPublicOverviewModel.fromDmpReferences(dmp.getDmpReferences()));
|
||||||
model.setOrganisations(dmp.getDmpReferences().stream().map(OrganizationPublicModel::fromDmpReference).filter(Objects::nonNull).toList());
|
model.setOrganisations(dmp.getDmpReferences().stream().map(OrganizationPublicModel::fromDmpReference).filter(Objects::nonNull).toList());
|
||||||
model.setDois(doiEntities.stream().map(DoiPublicModel::fromDataModel).toList());
|
model.setDois(doiEntities.stream().map(DoiPublicModel::fromDataModel).toList());
|
||||||
model.setAssociatedProfiles(descriptionTemplates.stream().map(AssociatedProfilePublicModel::fromDmpDescriptionTemplate).toList());
|
model.setAssociatedProfiles(descriptionTemplates.stream().map(x -> AssociatedProfilePublicModel.fromDmpDescriptionTemplate(x, dmp.getBlueprint())).toList());
|
||||||
|
|
||||||
model.setCreatedAt(Date.from(dmp.getCreatedAt()));
|
model.setCreatedAt(Date.from(dmp.getCreatedAt()));
|
||||||
model.setModifiedAt(Date.from(dmp.getUpdatedAt()));
|
model.setModifiedAt(Date.from(dmp.getUpdatedAt()));
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
package eu.eudat.model.publicapi.associatedprofile;
|
package eu.eudat.model.publicapi.associatedprofile;
|
||||||
|
|
||||||
|
import eu.eudat.model.DescriptionTemplate;
|
||||||
|
import eu.eudat.model.DmpBlueprint;
|
||||||
import eu.eudat.model.DmpDescriptionTemplate;
|
import eu.eudat.model.DmpDescriptionTemplate;
|
||||||
import jakarta.xml.bind.annotation.*;
|
import jakarta.xml.bind.annotation.*;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.*;
|
||||||
import java.util.Map;
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
@XmlRootElement(name = "profile")
|
@XmlRootElement(name = "profile")
|
||||||
@XmlAccessorType(XmlAccessType.FIELD)
|
@XmlAccessorType(XmlAccessType.FIELD)
|
||||||
|
@ -51,12 +51,27 @@ public class AssociatedProfilePublicModel {
|
||||||
this.data = data;
|
this.data = data;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static AssociatedProfilePublicModel fromDmpDescriptionTemplate(DmpDescriptionTemplate dmpDescriptionTemplate) {
|
public static AssociatedProfilePublicModel fromDmpDescriptionTemplate(DmpDescriptionTemplate dmpDescriptionTemplate, DmpBlueprint dmpBlueprint) {
|
||||||
|
DescriptionTemplate currentDescriptionTemplate = dmpDescriptionTemplate.getCurrentDescriptionTemplate();
|
||||||
|
UUID sectionId = dmpDescriptionTemplate.getSectionId();
|
||||||
|
|
||||||
AssociatedProfilePublicModel model = new AssociatedProfilePublicModel();
|
AssociatedProfilePublicModel model = new AssociatedProfilePublicModel();
|
||||||
model.setId(dmpDescriptionTemplate.getCurrentDescriptionTemplate().getId());
|
model.setId(dmpDescriptionTemplate.getId());
|
||||||
model.setDescriptionTemplateId(dmpDescriptionTemplate.getCurrentDescriptionTemplate().getId());
|
model.setDescriptionTemplateId(currentDescriptionTemplate.getId());
|
||||||
model.setLabel(dmpDescriptionTemplate.getCurrentDescriptionTemplate().getLabel());
|
model.setLabel(currentDescriptionTemplate.getLabel());
|
||||||
model.setData(new HashMap<>());
|
HashMap<String, Object> data = new HashMap<>();
|
||||||
|
data.put("dmpSectionIndex", getDmpSectionIndexes(dmpBlueprint, sectionId));
|
||||||
|
model.setData(data);
|
||||||
|
|
||||||
return model;
|
return model;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static List<Integer> getDmpSectionIndexes(DmpBlueprint dmpBlueprint, UUID sectionId) {
|
||||||
|
ArrayList<Integer> indexes = new ArrayList<>();
|
||||||
|
dmpBlueprint.getDefinition().getSections().forEach(x -> {
|
||||||
|
if (Objects.equals(sectionId, x.getId()))
|
||||||
|
indexes.add(x.getOrdinal());
|
||||||
|
});
|
||||||
|
return indexes;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,6 +10,7 @@ import eu.eudat.logic.services.ApiContext;
|
||||||
import eu.eudat.model.*;
|
import eu.eudat.model.*;
|
||||||
import eu.eudat.model.builder.DmpBuilder;
|
import eu.eudat.model.builder.DmpBuilder;
|
||||||
import eu.eudat.model.builder.DmpDescriptionTemplateBuilder;
|
import eu.eudat.model.builder.DmpDescriptionTemplateBuilder;
|
||||||
|
import eu.eudat.model.dmpblueprintdefinition.Section;
|
||||||
import eu.eudat.model.mapper.publicapi.DmpToPublicApiDmpListingMapper;
|
import eu.eudat.model.mapper.publicapi.DmpToPublicApiDmpListingMapper;
|
||||||
import eu.eudat.model.mapper.publicapi.DmpToPublicApiDmpMapper;
|
import eu.eudat.model.mapper.publicapi.DmpToPublicApiDmpMapper;
|
||||||
import eu.eudat.model.publicapi.listingmodels.DataManagementPlanPublicListingModel;
|
import eu.eudat.model.publicapi.listingmodels.DataManagementPlanPublicListingModel;
|
||||||
|
@ -181,6 +182,8 @@ public class PublicDmpsDocumentation extends BaseController {
|
||||||
String.join(".", Dmp._dmpReferences, DmpReference._reference, Reference._abbreviation),
|
String.join(".", Dmp._dmpReferences, DmpReference._reference, Reference._abbreviation),
|
||||||
String.join(".", Dmp._dmpReferences, DmpReference._reference, Reference._description),
|
String.join(".", Dmp._dmpReferences, DmpReference._reference, Reference._description),
|
||||||
String.join(".", Dmp._dmpReferences, DmpReference._reference, Reference._definition),
|
String.join(".", Dmp._dmpReferences, DmpReference._reference, Reference._definition),
|
||||||
|
String.join(".", Dmp._blueprint, eu.eudat.model.dmpblueprintdefinition.Definition._sections, Section._id),
|
||||||
|
String.join(".", Dmp._blueprint, eu.eudat.model.dmpblueprintdefinition.Definition._sections, Section._ordinal),
|
||||||
Dmp._createdAt,
|
Dmp._createdAt,
|
||||||
Dmp._updatedAt,
|
Dmp._updatedAt,
|
||||||
Dmp._finalizedAt
|
Dmp._finalizedAt
|
||||||
|
|
Loading…
Reference in New Issue