2020-10-13 18:03:37 +02:00
|
|
|
package com.plannaplan.responses.mappers;
|
|
|
|
|
2020-10-20 19:02:18 +02:00
|
|
|
import java.util.ArrayList;
|
2020-10-13 18:03:37 +02:00
|
|
|
import java.util.List;
|
|
|
|
import java.util.Objects;
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
import com.plannaplan.entities.Groups;
|
|
|
|
import com.plannaplan.responses.models.DefaultGroupResponse;
|
2020-10-20 19:02:18 +02:00
|
|
|
import com.plannaplan.responses.models.GetCourseGroupsResponse;
|
2020-10-13 18:03:37 +02:00
|
|
|
import com.plannaplan.responses.models.WithCapacityGroupResponse;
|
2020-10-20 19:02:18 +02:00
|
|
|
import com.plannaplan.types.GroupType;
|
2020-10-13 18:03:37 +02:00
|
|
|
|
|
|
|
public class GroupsMappers {
|
|
|
|
public static List<DefaultGroupResponse> mapToDefaultResponse(List<Groups> groups) {
|
|
|
|
return groups.stream().filter(Objects::nonNull).map(DefaultGroupResponse::new).collect(Collectors.toList());
|
|
|
|
}
|
|
|
|
|
|
|
|
public static List<WithCapacityGroupResponse> mapToCapacityResponse(List<Groups> groups) {
|
|
|
|
return groups.stream().filter(Objects::nonNull).map(WithCapacityGroupResponse::new)
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
}
|
2020-10-20 19:02:18 +02:00
|
|
|
|
|
|
|
public static GetCourseGroupsResponse<DefaultGroupResponse> mapToGetCourseGroupsDefaultResponse (List<Groups> groups){
|
|
|
|
|
|
|
|
List<DefaultGroupResponse> lectures = new ArrayList<>();
|
|
|
|
List<DefaultGroupResponse> classes = new ArrayList<>();
|
|
|
|
|
|
|
|
groups.stream().forEach(group -> {
|
|
|
|
if (group.getType() == GroupType.CLASS) {
|
|
|
|
classes.add(new DefaultGroupResponse(group));
|
|
|
|
} else {
|
|
|
|
lectures.add(new DefaultGroupResponse(group));
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
return new GetCourseGroupsResponse<>(classes, lectures);
|
|
|
|
}
|
|
|
|
|
|
|
|
public static GetCourseGroupsResponse<WithCapacityGroupResponse> mapToGetCourseGroupsWithCapacityResponse (List<Groups> groups){
|
|
|
|
|
|
|
|
List<WithCapacityGroupResponse> lectures = new ArrayList<>();
|
|
|
|
List<WithCapacityGroupResponse> classes = new ArrayList<>();
|
|
|
|
|
|
|
|
groups.stream().forEach(group -> {
|
|
|
|
if (group.getType() == GroupType.CLASS) {
|
|
|
|
classes.add(new WithCapacityGroupResponse(group));
|
|
|
|
} else {
|
|
|
|
lectures.add(new WithCapacityGroupResponse(group));
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
return new GetCourseGroupsResponse<>(classes, lectures);
|
|
|
|
}
|
|
|
|
|
2020-10-13 18:03:37 +02:00
|
|
|
}
|