37 lines
1.8 KiB
Java
37 lines
1.8 KiB
Java
package eu.eudat.model.mapper.publicapi;
|
|
|
|
import eu.eudat.commons.types.descriptiontemplate.MultiplicityEntity;
|
|
import eu.eudat.model.publicapi.datasetwizard.FieldSet;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
@Component
|
|
public class DescriptionFieldSetToDatasetFieldSetMapper {
|
|
|
|
private final DescriptionFieldToDatasetFieldMapper descriptionFieldToDatasetFieldMapper;
|
|
|
|
public DescriptionFieldSetToDatasetFieldSetMapper(DescriptionFieldToDatasetFieldMapper descriptionFieldToDatasetFieldMapper) {
|
|
this.descriptionFieldToDatasetFieldMapper = descriptionFieldToDatasetFieldMapper;
|
|
}
|
|
|
|
public FieldSet toPublicModel(eu.eudat.model.descriptiontemplatedefinition.FieldSet fieldSet) {
|
|
FieldSet model = new FieldSet();
|
|
model.setId(fieldSet.getId());
|
|
model.setDescription(fieldSet.getDescription());
|
|
model.setOrdinal(fieldSet.getOrdinal());
|
|
model.setNumbering(fieldSet.getNumbering());
|
|
model.setTitle(fieldSet.getTitle());
|
|
model.setAdditionalInformation(fieldSet.getAdditionalInformation());
|
|
model.setExtendedDescription(fieldSet.getExtendedDescription());
|
|
if (fieldSet.getMultiplicity() != null) {
|
|
MultiplicityEntity multiplicityEntity = new MultiplicityEntity();
|
|
multiplicityEntity.setMin(fieldSet.getMultiplicity().getMin());
|
|
multiplicityEntity.setMax(fieldSet.getMultiplicity().getMax());
|
|
multiplicityEntity.setPlaceholder(fieldSet.getMultiplicity().getPlaceholder());
|
|
multiplicityEntity.setTableView(fieldSet.getMultiplicity().getTableView());
|
|
model.setMultiplicity(multiplicityEntity);
|
|
}
|
|
model.setFields(fieldSet.getFields().stream().map(descriptionFieldToDatasetFieldMapper::toPublicModel).toList());
|
|
return model;
|
|
}
|
|
}
|