31 lines
1.3 KiB
Java
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;
|
|
}
|
|
}
|