argos/dmp-backend/core/src/main/java/eu/eudat/model/mapper/publicapi/DescriptionSectionToDataset...

29 lines
1.3 KiB
Java

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;
}
}