package eu.eudat.model.mapper.publicapi; import eu.eudat.model.publicapi.datasetwizard.Section; import org.springframework.stereotype.Component; @Component public class DescriptionSectionToDatasetSectionMapper { private final DescriptionFieldSetToDatasetFieldSetMapper descriptionFieldSetToDatasetFieldSetMapper; public DescriptionSectionToDatasetSectionMapper(DescriptionFieldSetToDatasetFieldSetMapper descriptionFieldSetToDatasetFieldSetMapper) { this.descriptionFieldSetToDatasetFieldSetMapper = descriptionFieldSetToDatasetFieldSetMapper; } public Section toPublicModel(eu.eudat.model.descriptiontemplatedefinition.Section section, int page) { Section model = new Section(); model.setId(section.getId()); model.setDescription(section.getDescription()); model.setOrdinal(section.getOrdinal()); model.setTitle(section.getTitle()); model.setSections(section.getSections().stream().map(x-> this.toPublicModel(x, page)).toList()); model.setDefaultVisibility(section.getDefaultVisibility()); model.setNumbering(section.getNumbering()); model.setPage("page_" + page); model.setCompositeFields(section.getFieldSets().stream().map(descriptionFieldSetToDatasetFieldSetMapper::toPublicModel).toList()); return model; } }