File tree Expand file tree Collapse file tree
main/java/org/example/app/task
test/java/org/example/app/task/dataaccess Expand file tree Collapse file tree Original file line number Diff line number Diff line change 22
33import org .example .app .general .common .ApplicationEntity ;
44
5+ import java .time .LocalDateTime ;
6+
57public interface TaskItem extends ApplicationEntity {
8+
9+ /**
10+ * @return the title of this task item. Gives a brief summary to describe what to do or buy.
11+ */
12+ String getTitle ();
13+
14+ /**
15+ * @param title new value of {@link #getTitle()}.
16+ */
17+ void setTitle (String title );
18+
19+ /**
20+ * @return {@code true} if this task is completed (done), {@code false} otherwise.
21+ */
22+ boolean isCompleted ();
23+
24+ /**
25+ * @param completed new value of {@link #isCompleted()}.
26+ */
27+ void setCompleted (boolean completed );
28+
29+ /**
30+ * @return {@code true} if this task is starred (marked as favorite), {@code false} otherwise.
31+ */
32+ boolean isStarred ();
33+
34+ /**
35+ * @param starred new value of {@link #isStarred()}.
36+ */
37+ void setStarred (boolean starred );
38+
39+ /**
40+ * @return the deadline as until this task shall be {@link #isCompleted() completed}.
41+ */
42+ LocalDateTime getDeadline ();
43+
44+ /**
45+ * @param deadline the new value of {@link #getDeadline()}.
46+ */
47+ void setDeadline (LocalDateTime deadline );
48+
49+ /**
50+ * @return the {@link TaskList#getId() primary key} of the owning {@link TaskList}.
51+ */
52+ Long getTaskListId ();
53+
54+ /**
55+ * @param taskListId the new value of {@link #getTaskListId()}.
56+ */
57+ void setTaskListId (Long taskListId );
658}
Original file line number Diff line number Diff line change 33import org .example .app .general .common .ApplicationEntity ;
44
55public interface TaskList extends ApplicationEntity {
6+
7+ /**
8+ * @return the title of this {@link TaskList}. Gives a brief summary to describe this list of tasks (e.g. "Shopping
9+ * list", "Packing list" or "Things to buy at construction market").
10+ */
11+ String getTitle ();
12+
13+ /**
14+ * @param title new value of {@link #getTitle()}.
15+ */
16+ void setTitle (String title );
617}
18+
Original file line number Diff line number Diff line change @@ -25,39 +25,61 @@ public class TaskItemEntity extends ApplicationPersistenceEntity implements Task
2525
2626 @ Column
2727 private LocalDateTime deadline ;
28-
28+ @ Override
2929 public String getTitle () {
3030 return title ;
3131 }
32-
32+ @ Override
3333 public void setTitle (String title ) {
3434 this .title = title ;
3535 }
36-
36+ @ Override
3737 public boolean isCompleted () {
3838 return completed ;
3939 }
40-
40+ @ Override
4141 public void setCompleted (boolean completed ) {
4242 this .completed = completed ;
4343 }
44-
44+ @ Override
4545 public boolean isStarred () {
4646 return starred ;
4747 }
48-
48+ @ Override
4949 public void setStarred (boolean starred ) {
5050 this .starred = starred ;
5151 }
52-
52+ @ Override
5353 public LocalDateTime getDeadline () {
5454 return deadline ;
5555 }
56-
56+ @ Override
5757 public void setDeadline (LocalDateTime deadline ) {
5858 this .deadline = deadline ;
5959 }
6060
61+ @ Override
62+ public Long getTaskListId () {
63+
64+ if (this .taskListEntity == null ) {
65+ return null ;
66+ }
67+ return this .taskListEntity .getId ();
68+ }
69+
70+ @ Override
71+ public void setTaskListId (Long taskListId ) {
72+
73+ if (taskListId == null ) {
74+ this .taskListEntity = null ;
75+ } else {
76+ TaskListEntity taskListEntity = new TaskListEntity ();
77+ taskListEntity .setId (taskListId );
78+ taskListEntity .setVersion (Integer .valueOf (0 ));
79+ this .taskListEntity = taskListEntity ;
80+ }
81+ }
82+
6183 public TaskListEntity getTaskListEntity () {
6284 return taskListEntity ;
6385 }
Original file line number Diff line number Diff line change @@ -15,15 +15,31 @@ public class TaskListEntity extends ApplicationPersistenceEntity implements Task
1515
1616 @ OneToMany (fetch = FetchType .LAZY , mappedBy = "taskListEntity" )
1717 List <TaskItemEntity > taskItemEntities ;
18-
18+ @ Override
1919 public String getTitle () {
2020 return title ;
2121 }
22-
22+ @ Override
2323 public void setTitle (String title ) {
2424 this .title = title ;
2525 }
2626
27+ /**
28+ * @return the {@link List} of {@link TaskItemEntity task-items} in this task-list.
29+ */
30+ public List <TaskItemEntity > getItems () {
31+
32+ return this .taskItemEntities ;
33+ }
34+
35+ /**
36+ * @param taskItems the new value of {@link #getItems()}.
37+ */
38+ public void setItems (List <TaskItemEntity > taskItems ) {
39+
40+ this .taskItemEntities = taskItems ;
41+ }
42+
2743 public List <TaskItemEntity > getTaskItemEntities () {
2844 return taskItemEntities ;
2945 }
Original file line number Diff line number Diff line change 11package org .example .app .task .logic ;
22
3+ import jakarta .validation .constraints .NotNull ;
34import org .example .app .general .common .AbstractEto ;
45import org .example .app .task .common .TaskItem ;
56import org .example .app .task .dataaccess .TaskListEntity ;
@@ -14,47 +15,48 @@ public class TaskItemEto extends AbstractEto implements TaskItem {
1415
1516 private boolean starred ;
1617
17- private TaskListEntity taskListEntity ;
18+ @ NotNull
19+ private Long taskListId ;
1820
1921 private LocalDateTime deadline ;
20-
22+ @ Override
2123 public String getTitle () {
2224 return title ;
2325 }
24-
26+ @ Override
2527 public void setTitle (String title ) {
2628 this .title = title ;
2729 }
28-
30+ @ Override
2931 public boolean isCompleted () {
3032 return completed ;
3133 }
32-
34+ @ Override
3335 public void setCompleted (boolean completed ) {
3436 this .completed = completed ;
3537 }
36-
38+ @ Override
3739 public boolean isStarred () {
3840 return starred ;
3941 }
40-
42+ @ Override
4143 public void setStarred (boolean starred ) {
4244 this .starred = starred ;
4345 }
44-
46+ @ Override
4547 public LocalDateTime getDeadline () {
4648 return deadline ;
4749 }
48-
50+ @ Override
4951 public void setDeadline (LocalDateTime deadline ) {
5052 this .deadline = deadline ;
5153 }
52-
53- public TaskListEntity getTaskListEntity () {
54- return taskListEntity ;
54+ @ Override
55+ public Long getTaskListId () {
56+ return taskListId ;
5557 }
56-
57- public void setTaskListEntity ( TaskListEntity taskListEntity ) {
58- this .taskListEntity = taskListEntity ;
58+ @ Override
59+ public void setTaskListId ( Long id ) {
60+ this .taskListId = id ;
5961 }
6062}
Original file line number Diff line number Diff line change 1+ package org .example .app .task .logic ;
2+
3+ import java .util .List ;
4+
5+ public class TaskListCto {
6+ private TaskListEto list ;
7+
8+ private List <TaskItemEto > items ;
9+
10+ /**
11+ * The constructor.
12+ */
13+ public TaskListCto () {
14+
15+ super ();
16+ }
17+
18+ /**
19+ * @return the {@link TaskListEto}.
20+ */
21+ public TaskListEto getList () {
22+
23+ return this .list ;
24+ }
25+
26+ /**
27+ * @param taskListEto new value of {@link #getList()}.
28+ */
29+ public void setList (TaskListEto taskListEto ) {
30+
31+ this .list = taskListEto ;
32+ }
33+
34+ /**
35+ * @return the {@link List} of {@link TaskItemEto items} contained in the #get.
36+ */
37+ public List <TaskItemEto > getItems () {
38+
39+ return this .items ;
40+ }
41+
42+ /**
43+ * @param items new value of {@link #getItems()}.
44+ */
45+ public void setItems (List <TaskItemEto > items ) {
46+
47+ this .items = items ;
48+ }
49+
50+ }
Original file line number Diff line number Diff line change @@ -10,21 +10,13 @@ public class TaskListEto extends AbstractEto implements TaskList {
1010
1111 private String title ;
1212
13- List <TaskItemEntity > taskItemEntities ;
14-
13+ @ Override
1514 public String getTitle () {
1615 return title ;
1716 }
18-
17+ @ Override
1918 public void setTitle (String title ) {
2019 this .title = title ;
2120 }
2221
23- public List <TaskItemEntity > getTaskItemEntities () {
24- return taskItemEntities ;
25- }
26-
27- public void setTaskItemEntities (List <TaskItemEntity > taskItemEntities ) {
28- this .taskItemEntities = taskItemEntities ;
29- }
3022}
Original file line number Diff line number Diff line change @@ -19,9 +19,25 @@ public class UcFindTaskList {
1919
2020 @ Inject
2121 TaskListMapper taskListMapper ;
22+ @ Inject
23+ TaskItemMapper taskItemMapper ;
24+
2225
2326 public TaskListEto findById (Long itemId ) {
2427 Optional <TaskListEntity > item = this .taskListRepository .findById (itemId );
2528 return item .map (ety -> this .taskListMapper .toEto (ety )).orElse (null );
2629 }
30+
31+
32+ public TaskListCto findTaskListWithItems (Long listId ) {
33+ Optional <TaskListEntity > taskList = this .taskListRepository .findById (listId );
34+ if (taskList .isEmpty ()) {
35+ return null ;
36+ }
37+ TaskListCto cto = new TaskListCto ();
38+ TaskListEntity taskListEntity = taskList .get ();
39+ cto .setList (this .taskListMapper .toEto (taskListEntity ));
40+ cto .setItems (this .taskItemMapper .toEtos (taskListEntity .getItems ()));
41+ return cto ;
42+ }
2743}
You can’t perform that action at this time.
0 commit comments