From ff9f122f45d95febf9ddb6b912078c4e5d917ace Mon Sep 17 00:00:00 2001 From: gushakov Date: Tue, 4 Jan 2022 10:59:15 +0100 Subject: [PATCH] use case more clear, use AtomicInteger API --- src/main/java/com/github/cleanddd/model/Course.java | 2 +- .../java/com/github/cleanddd/usecase/EnrollStudentUseCase.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/github/cleanddd/model/Course.java b/src/main/java/com/github/cleanddd/model/Course.java index 71232c7..70180d3 100644 --- a/src/main/java/com/github/cleanddd/model/Course.java +++ b/src/main/java/com/github/cleanddd/model/Course.java @@ -34,7 +34,7 @@ public class Course { } public Course enrollStudent() { - return newCourse().numberOfStudents(numberOfStudents.get() + 1).build(); + return newCourse().numberOfStudents(numberOfStudents.incrementAndGet()).build(); } private CourseBuilder newCourse() { diff --git a/src/main/java/com/github/cleanddd/usecase/EnrollStudentUseCase.java b/src/main/java/com/github/cleanddd/usecase/EnrollStudentUseCase.java index 8bda915..1918fb2 100644 --- a/src/main/java/com/github/cleanddd/usecase/EnrollStudentUseCase.java +++ b/src/main/java/com/github/cleanddd/usecase/EnrollStudentUseCase.java @@ -72,7 +72,8 @@ public class EnrollStudentUseCase implements EnrollStudentInputPort { persistenceOps.persist(enrollResult.getStudent()); final Course course = persistenceOps.obtainCourseById(courseId); - persistenceOps.persist(course.enrollStudent()); + final Course updatedCourse = course.enrollStudent(); + persistenceOps.persist(updatedCourse); } // present the result of enrollment