View Javadoc
1   package info.ejava.examples.jaxrs.todos.ejb;
2   
3   import java.util.List;
4   import java.util.stream.Collectors;
5   
6   import info.ejava.examples.jaxrs.todos.bo.TodoItem;
7   import info.ejava.examples.jaxrs.todos.bo.TodoList;
8   import info.ejava.examples.jaxrs.todos.dto.TodoItemDTO;
9   import info.ejava.examples.jaxrs.todos.dto.TodoListDTO;
10  import info.ejava.examples.jaxrs.todos.dto.TodoListListDTO;
11  
12  public class DtoMapper {
13      public TodoList map(TodoListDTO dto) {
14          TodoList bo = new TodoList();
15          bo.setName(dto.getName());
16          
17          if (dto.getTodoItems()!=null) {
18              for (TodoItemDTO itemDTO: dto.getTodoItems()) {
19                  TodoItem itemBO = map(itemDTO);
20                  itemBO.setTodoList(bo);
21                  bo.getTodoItems().add(itemBO);
22              }
23          }
24          return bo;
25      }
26      
27      public TodoListDTO map(TodoList bo) {
28          if (bo==null) { return null; }
29          TodoListDTO dto = new TodoListDTO();
30          dto.setName(bo.getName());
31          List<TodoItemDTO> items = bo.getTodoItems().stream()
32                                                     .map(item->map(item))
33                                                     .collect(Collectors.toList());
34          dto.setTodoItems(items);
35          return dto;
36      }
37      
38  //    public TodoItem map(TodoItemDTO dto) {
39  //        TodoItem bo = new TodoItem();
40  //        bo.setName(dto.getName());
41  //        bo.setPriority(dto.getPriority());
42  //        bo.set
43  //    }
44      
45      public TodoItemDTO map(TodoItem bo) {
46          TodoItemDTO dto = new TodoItemDTO();
47          dto.setName(bo.getName());
48          dto.setPriority(bo.getPriority());
49          return dto;
50      }
51  
52      public TodoListListDTO map(List<TodoList> bo) {
53          if (bo==null) { return null; }
54          List<TodoListDTO> todoLists = bo.stream()
55                                          .map(list->map(list))
56                                          .collect(Collectors.toList());
57          TodoListListDTO dto = new TodoListListDTO();
58          dto.setTodoLists(todoLists);
59          return dto;
60      }
61  
62      public TodoItem map(TodoItemDTO dto) {
63          if (dto==null) { return null; }
64          TodoItem bo = new TodoItem();
65          bo.setName(dto.getName());
66          if (dto.getPriority()!=null) {
67              bo.setPriority(dto.getPriority());
68          }
69          return bo;
70      }
71  }