From d7a7658e79e82989132422c854e70462b5ca739a Mon Sep 17 00:00:00 2001 From: jcilacad Date: Thu, 30 May 2024 19:25:30 +0800 Subject: [PATCH] Added transactional annotations to the service classes. --- .../service/impl/AuthenticationServiceImpl.java | 2 ++ .../aeroplannerrestapi/service/impl/EmailServiceImpl.java | 2 ++ .../aeroplannerrestapi/service/impl/FlightServiceImpl.java | 2 ++ .../service/impl/PassengerServiceImpl.java | 3 +++ .../aeroplannerrestapi/service/impl/PaymentServiceImpl.java | 2 +- .../service/impl/ReservationServiceImpl.java | 2 ++ .../service/impl/SuperAdminServiceImpl.java | 5 ++++- .../aeroplannerrestapi/service/impl/TicketServiceImpl.java | 4 ++++ .../service/impl/TokenBlacklistServiceImpl.java | 1 + .../aeroplannerrestapi/service/impl/UserServiceImpl.java | 3 +-- 10 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/projects/aeroplannerrestapi/service/impl/AuthenticationServiceImpl.java b/src/main/java/com/projects/aeroplannerrestapi/service/impl/AuthenticationServiceImpl.java index c532fb7..3b88c33 100644 --- a/src/main/java/com/projects/aeroplannerrestapi/service/impl/AuthenticationServiceImpl.java +++ b/src/main/java/com/projects/aeroplannerrestapi/service/impl/AuthenticationServiceImpl.java @@ -24,6 +24,7 @@ import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StringUtils; import java.util.HashSet; @@ -34,6 +35,7 @@ @Service @RequiredArgsConstructor +@Transactional public class AuthenticationServiceImpl implements AuthenticationService { private static final Log LOG = LogFactory.getLog(AuthenticationServiceImpl.class); diff --git a/src/main/java/com/projects/aeroplannerrestapi/service/impl/EmailServiceImpl.java b/src/main/java/com/projects/aeroplannerrestapi/service/impl/EmailServiceImpl.java index 5571e36..7839161 100644 --- a/src/main/java/com/projects/aeroplannerrestapi/service/impl/EmailServiceImpl.java +++ b/src/main/java/com/projects/aeroplannerrestapi/service/impl/EmailServiceImpl.java @@ -18,6 +18,7 @@ import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.thymeleaf.TemplateEngine; import org.thymeleaf.context.Context; @@ -29,6 +30,7 @@ import static com.projects.aeroplannerrestapi.constants.SecurityRoleConstants.HEADER; @Service +@Transactional @RequiredArgsConstructor public class EmailServiceImpl implements EmailService { diff --git a/src/main/java/com/projects/aeroplannerrestapi/service/impl/FlightServiceImpl.java b/src/main/java/com/projects/aeroplannerrestapi/service/impl/FlightServiceImpl.java index 6bc34ad..3e1f270 100644 --- a/src/main/java/com/projects/aeroplannerrestapi/service/impl/FlightServiceImpl.java +++ b/src/main/java/com/projects/aeroplannerrestapi/service/impl/FlightServiceImpl.java @@ -22,6 +22,7 @@ @Service @RequiredArgsConstructor +@Transactional(readOnly = true) public class FlightServiceImpl implements FlightService { private static final Log LOG = LogFactory.getLog(FlightServiceImpl.class); @@ -29,6 +30,7 @@ public class FlightServiceImpl implements FlightService { private final FlightRepository flightRepository; @Override + @Transactional public FlightResponse createFlight(FlightRequest flightRequest) { Flight flight = FlightMapper.INSTANCE.flightRequestToFlight(flightRequest); flight.setCurrentAvailableSeat(flightRequest.getSeatAvailability()); diff --git a/src/main/java/com/projects/aeroplannerrestapi/service/impl/PassengerServiceImpl.java b/src/main/java/com/projects/aeroplannerrestapi/service/impl/PassengerServiceImpl.java index 2ae6ce9..3259a6d 100644 --- a/src/main/java/com/projects/aeroplannerrestapi/service/impl/PassengerServiceImpl.java +++ b/src/main/java/com/projects/aeroplannerrestapi/service/impl/PassengerServiceImpl.java @@ -16,6 +16,7 @@ import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.Collections; import java.util.List; @@ -25,6 +26,7 @@ @Service @RequiredArgsConstructor +@Transactional(readOnly = true) public class PassengerServiceImpl implements PassengerService { private static final Log LOG = LogFactory.getLog(PassengerServiceImpl.class); @@ -60,6 +62,7 @@ public UserResponse getPassenger(Long id) { } @Override + @Transactional public void deletePassenger(Long id) { if (!userRepository.existsByIdAndRoles_Name(id, RoleEnum.USER)) { throw new ResourceNotFoundException(PASSENGER, ID, id.toString()); diff --git a/src/main/java/com/projects/aeroplannerrestapi/service/impl/PaymentServiceImpl.java b/src/main/java/com/projects/aeroplannerrestapi/service/impl/PaymentServiceImpl.java index 923f912..c2e9e9a 100644 --- a/src/main/java/com/projects/aeroplannerrestapi/service/impl/PaymentServiceImpl.java +++ b/src/main/java/com/projects/aeroplannerrestapi/service/impl/PaymentServiceImpl.java @@ -28,6 +28,7 @@ @Service @RequiredArgsConstructor +@Transactional(readOnly = true) public class PaymentServiceImpl implements PaymentService { private static final Log LOG = LogFactory.getLog(PaymentServiceImpl.class); @@ -67,7 +68,6 @@ public PaymentResponse processPayment(PaymentRequest paymentRequest) { } @Override - @Transactional(readOnly = true) public Payment getPaymentDetails(Long id) { return paymentRepository.findById(id) .orElseThrow(() -> new ResourceNotFoundException(PAYMENT, ID, id.toString())); diff --git a/src/main/java/com/projects/aeroplannerrestapi/service/impl/ReservationServiceImpl.java b/src/main/java/com/projects/aeroplannerrestapi/service/impl/ReservationServiceImpl.java index c925cb2..9a62db5 100644 --- a/src/main/java/com/projects/aeroplannerrestapi/service/impl/ReservationServiceImpl.java +++ b/src/main/java/com/projects/aeroplannerrestapi/service/impl/ReservationServiceImpl.java @@ -28,6 +28,7 @@ @Service @RequiredArgsConstructor +@Transactional(readOnly = true) public class ReservationServiceImpl implements ReservationService { private static final Log LOG = LogFactory.getLog(ReservationServiceImpl.class); @@ -36,6 +37,7 @@ public class ReservationServiceImpl implements ReservationService { private final FlightRepository flightRepository; @Override + @Transactional public ReservationResponse createReservation(ReservationRequest reservationRequest) { Reservation reservation = ReservationMapper.INSTANCE.reservationRequestToReservation(reservationRequest); Long flightId = reservationRequest.getFlightId(); diff --git a/src/main/java/com/projects/aeroplannerrestapi/service/impl/SuperAdminServiceImpl.java b/src/main/java/com/projects/aeroplannerrestapi/service/impl/SuperAdminServiceImpl.java index a62c48d..fc05210 100644 --- a/src/main/java/com/projects/aeroplannerrestapi/service/impl/SuperAdminServiceImpl.java +++ b/src/main/java/com/projects/aeroplannerrestapi/service/impl/SuperAdminServiceImpl.java @@ -27,6 +27,7 @@ @Service @RequiredArgsConstructor +@Transactional(readOnly = true) public class SuperAdminServiceImpl implements SuperAdminService { private static final Log LOG = LogFactory.getLog(SuperAdminServiceImpl.class); @@ -36,6 +37,7 @@ public class SuperAdminServiceImpl implements SuperAdminService { private final PasswordEncoder passwordEncoder; @Override + @Transactional public UserResponse createAdministrator(RegisterRequest registerRequest) { String email = registerRequest.getEmail(); Optional role = roleRepository.findByName(RoleEnum.ADMIN); @@ -54,7 +56,6 @@ public UserResponse createAdministrator(RegisterRequest registerRequest) { } @Override - @Transactional(readOnly = true) public UserResponse getAdministrator(Long id) { User user = findByIdAndRole(id); LOG.debug(String.format("Administrator %d : %s", id, user.getEmail())); @@ -62,6 +63,7 @@ public UserResponse getAdministrator(Long id) { } @Override + @Transactional public UserResponse updateAdministrator(Long id, RegisterRequest registerRequest) { User user = findByIdAndRole(id); user.setUpdatedAt(LocalDateTime.now()); @@ -74,6 +76,7 @@ public UserResponse updateAdministrator(Long id, RegisterRequest registerRequest } @Override + @Transactional public void deleteAdministrator(Long id) { User user = findByIdAndRole(id); userRepository.delete(user); diff --git a/src/main/java/com/projects/aeroplannerrestapi/service/impl/TicketServiceImpl.java b/src/main/java/com/projects/aeroplannerrestapi/service/impl/TicketServiceImpl.java index a7553f3..96b86c8 100644 --- a/src/main/java/com/projects/aeroplannerrestapi/service/impl/TicketServiceImpl.java +++ b/src/main/java/com/projects/aeroplannerrestapi/service/impl/TicketServiceImpl.java @@ -15,6 +15,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; import java.util.List; @@ -23,6 +24,7 @@ @Service @RequiredArgsConstructor +@Transactional(readOnly = true) public class TicketServiceImpl implements TicketService { private static final Log LOG = LogFactory.getLog(TicketServiceImpl.class); @@ -31,6 +33,7 @@ public class TicketServiceImpl implements TicketService { private final ReservationRepository reservationRepository; @Override + @Transactional public TicketResponse createTicket(TicketRequest ticketRequest) { Long reservationId = ticketRequest.getReservationId(); Reservation reservation = reservationRepository.findById(reservationId) @@ -61,6 +64,7 @@ public TicketResponse getTicket(Long id) { } @Override + @Transactional public void cancelTicket(Long id) { Ticket ticket = ticketRepository.findById(id) .orElseThrow(() -> new ResourceNotFoundException(TICKET, ID, id.toString())); diff --git a/src/main/java/com/projects/aeroplannerrestapi/service/impl/TokenBlacklistServiceImpl.java b/src/main/java/com/projects/aeroplannerrestapi/service/impl/TokenBlacklistServiceImpl.java index 155daca..9262326 100644 --- a/src/main/java/com/projects/aeroplannerrestapi/service/impl/TokenBlacklistServiceImpl.java +++ b/src/main/java/com/projects/aeroplannerrestapi/service/impl/TokenBlacklistServiceImpl.java @@ -5,6 +5,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.HashSet; import java.util.Set; diff --git a/src/main/java/com/projects/aeroplannerrestapi/service/impl/UserServiceImpl.java b/src/main/java/com/projects/aeroplannerrestapi/service/impl/UserServiceImpl.java index 5034429..af874a0 100644 --- a/src/main/java/com/projects/aeroplannerrestapi/service/impl/UserServiceImpl.java +++ b/src/main/java/com/projects/aeroplannerrestapi/service/impl/UserServiceImpl.java @@ -25,6 +25,7 @@ @Service @RequiredArgsConstructor +@Transactional(readOnly = true) public class UserServiceImpl implements UserService { private static final Log LOG = LogFactory.getLog(UserServiceImpl.class); @@ -32,7 +33,6 @@ public class UserServiceImpl implements UserService { private final UserRepository userRepository; @Override - @Transactional(readOnly = true) public UserResponse getAuthenticatedUser() { Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); String email = authentication.getName(); @@ -43,7 +43,6 @@ public UserResponse getAuthenticatedUser() { } @Override - @Transactional(readOnly = true) public PaginatedAndSortedUserResponse getAllUsers(int pageNumber, int pageSize, String sortBy, String sortDirection) { Sort sort = sortDirection.equalsIgnoreCase(Sort.Direction.ASC.name()) ? Sort.by(sortBy).ascending() : Sort.by(sortBy).descending();