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

31 lines
1.3 KiB
Java

package eu.eudat.model.mapper.publicapi;
import eu.eudat.model.DescriptionTemplate;
import eu.eudat.model.descriptiontemplatedefinition.Definition;
import eu.eudat.model.publicapi.datasetwizard.PagedDatasetProfile;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@Component
public class DescriptionTemplateToPublicApiDatasetProfileMapper {
private static Logger logger = LoggerFactory.getLogger(DescriptionTemplateToPublicApiDatasetProfileMapper.class);
private final DescriptionPageToDatasetPageMapper descriptionPageToDatasetPageMapper;
public DescriptionTemplateToPublicApiDatasetProfileMapper(DescriptionPageToDatasetPageMapper descriptionPageToDatasetPageMapper) {
this.descriptionPageToDatasetPageMapper = descriptionPageToDatasetPageMapper;
}
public PagedDatasetProfile toPublicModel(DescriptionTemplate descriptionTemplate) {
PagedDatasetProfile model = new PagedDatasetProfile();
Definition definition = descriptionTemplate.getDefinition();
model.setStatus(descriptionTemplate.getStatus().getValue());
model.setPages(definition.getPages().stream().map(
descriptionPageToDatasetPageMapper::toPublicModel
).toList());
return model;
}
}