package org.c4sg.mapper; import org.c4sg.dto.CreateStoryDTO; import org.c4sg.dto.StoryDTO; import org.c4sg.entity.Story; import org.modelmapper.ModelMapper; import org.modelmapper.convention.MatchingStrategies; import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @Component public class StoryMapper extends ModelMapper { public StoryDTO getStoryDtoFromEntity(Story story) { getConfiguration().setMatchingStrategy(MatchingStrategies.STRICT); StoryDTO storyDTO = map(story, StoryDTO.class); return storyDTO; } public List<StoryDTO> getDtosFromEntities(List<Story> entities) { if (entities == null) return new ArrayList<>(); return entities.stream().map(entity -> getStoryDtoFromEntity(entity)).collect(Collectors.toList()); } public Story getStoryEntityFromCreateStoryDto(CreateStoryDTO createStoryDTO) { return map(createStoryDTO, Story.class); } }