Converter実装
This commit is contained in:
parent
02cd9b7aab
commit
9d449aa575
|
@ -2,10 +2,14 @@ package one.nem.kidshift.data.retrofit.model.converter;
|
|||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
import one.nem.kidshift.data.retrofit.model.task.HistoryListResponse;
|
||||
import one.nem.kidshift.data.retrofit.model.task.HistoryResponse;
|
||||
import one.nem.kidshift.data.retrofit.model.task.TaskListResponse;
|
||||
import one.nem.kidshift.data.retrofit.model.task.TaskResponse;
|
||||
import one.nem.kidshift.model.HistoryModel;
|
||||
import one.nem.kidshift.model.tasks.TaskItemModel;
|
||||
|
||||
public class HistoryModelConverter { // TODO: JavaDoc
|
||||
|
||||
|
@ -44,4 +48,30 @@ public class HistoryModelConverter { // TODO: JavaDoc
|
|||
historyListResponse.setList(historyResponseList);
|
||||
return historyListResponse;
|
||||
}
|
||||
|
||||
private static TaskResponse emptyTaskItemModel() {
|
||||
TaskResponse taskResponse = new TaskResponse();
|
||||
taskResponse.setId("");
|
||||
taskResponse.setName("Critical Error occurred(Your data (on server) is may be corrupted.)");
|
||||
taskResponse.setReward(0);
|
||||
return taskResponse;
|
||||
}
|
||||
|
||||
public static List<HistoryModel> historyListResponseAndTaskListResponseToHistoryModelList(HistoryListResponse historyListResponse, TaskListResponse taskListResponse) {
|
||||
List<HistoryModel> historyModelList = new ArrayList<>();
|
||||
for (HistoryResponse historyResponse : historyListResponse.getList()) {
|
||||
HistoryModel historyModel = historyResponseToHistoryModel(historyResponse);
|
||||
if (taskListResponse == null || taskListResponse.getList() == null || taskListResponse.getList().isEmpty()) {
|
||||
continue;
|
||||
}
|
||||
TaskItemModel taskItemModel = TaskModelConverter.taskResponseToTaskItemModel(
|
||||
Objects.requireNonNull(taskListResponse.getList().stream()
|
||||
.filter(taskResponse -> taskResponse.getId().equals(historyModel.getTaskId()))
|
||||
.findFirst().orElse(emptyTaskItemModel())));
|
||||
historyModel.setTaskName(taskItemModel.getName());
|
||||
historyModel.setReward(taskItemModel.getReward());
|
||||
historyModelList.add(historyModel);
|
||||
}
|
||||
return historyModelList;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user