32 lines
1.1 KiB
Java
Executable File
32 lines
1.1 KiB
Java
Executable File
package com.plannaplan.responses.mappers;
|
|
|
|
import java.util.List;
|
|
import java.util.Objects;
|
|
import java.util.stream.Collectors;
|
|
|
|
import com.plannaplan.entities.Course;
|
|
import com.plannaplan.responses.models.CoursesDefaultResponse;
|
|
import com.plannaplan.responses.models.CoursesWithGroupsResponse;
|
|
|
|
/**
|
|
* Mappers for Courses to api responses
|
|
*/
|
|
public class CoursesResponseMappers {
|
|
/**
|
|
* @param courses list of courses to be mapped
|
|
* @return list of api responses
|
|
*/
|
|
public static final List<CoursesDefaultResponse> mapToGetCoursesResponse(List<Course> courses) {
|
|
return courses.stream().filter(Objects::nonNull).map(CoursesDefaultResponse::new).collect(Collectors.toList());
|
|
}
|
|
|
|
/**
|
|
* @param courses list of courses to be mapped
|
|
* @return list of api responses
|
|
*/
|
|
public static final List<CoursesWithGroupsResponse> mapToGetCoursesWithGroupsResponse(List<Course> courses) {
|
|
return courses.stream().filter(Objects::nonNull).map(CoursesWithGroupsResponse::new)
|
|
.collect(Collectors.toList());
|
|
}
|
|
}
|