Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Service
- @Primary
- class ReviewServiceImpl implements ReviewService {
- /* Example: Find wallets by name pattern -> wallets list */
- public Page<RscpDTO> getWalletsByNameForUser__example_1(long userId, String patternName) {
- if (!userService.checkUserExists(userId)) {
- logger.error("User not found", userId);
- throw new UserNotFoundException(userId);
- /* Nie znaleziono użtkownika, więc stworzono wyjątek. Dalsze wykonywanie tej
- metody jest przerywane, a wyjątek jest zwracany do kontrolera.
- W kontrolerze musi być blok try-catch, poprawna idetyfikacja wyjąku i jego konkretna obsługa.
- */
- }
- List<Wallet> list = walletRepository.findWalletsByName(patternName);
- // Create Response Service to Controller Protocol DTO (RscpDTO))
- RscpStatus status = new RscpStatus.OK;
- String message = String.format("Wallets list containing %s in name", patternName);
- List<Wallet> body = list;
- return new RscpDTO<Wallet>(status, message, body);
- /* Zwracany jest obiekt DTO który zawiera status, opis rezultatu oraz listę obiektów typu wallet */
- }
- /* Example: Find wallets by name pattern -> empty list */
- public Page<RscpDTO> getWalletsByNameForUser__example_1(long userId, String patternName) {
- if (!userService.checkUserExists(userId)) {
- // ...
- }
- List<Wallet> list = walletRepository.findWalletsByName(patternName);
- if (list.size() == 0) {
- // Create Response Service to Controller Protocol DTO (RscpDTO))
- RscpStatus status = new RscpStatus.NO_CONTENT; // NO_CONTENT(204, Series.SUCCESSFUL, "No Content"),
- String message = String.format("Wallets list containing no wallets by %s name patten",
- patternName);
- List<Wallet> body = list;
- return new RscpDTO<Wallet>(status, message, body);
- /* Zwracany jest obiekt DTO który zawiera status, opis rezultatu oraz listę obiektów typu wallet */
- } else{
- // ...
- }
- }
- /* Example: User by Id not found */
- public Page<RscpDTO> getWalletsByNameForUser__example_2(long userId, String patternName) {
- if (!userService.checkUserExists(userId)) {
- logger.error("User not found", userId)
- // Create Response Service to Controller Protocol DTO
- RscpStatus status = new RscpStatus.UNAUTHORIZED; // UNAUTHORIZED(401, Series.CLIENT_ERROR, "Unauthorized")
- String message = String.format("User unauthorized %s", userId);
- List<Wallet> body = Collections.emptyList();
- return new RscpDTO<T>(status, message, body);
- /* Zaleta jest taka, że nie przerzucamy między warstwami aplikacji wyjątku
- tylko zwykły obiekt DTO który zawiera informacje o błędzie.
- W kontrolerze w ogóle bloku try-catch nie ma, bo wyjątki UserNotFoundException nie istnieją. */
- }
- // ...
- return dto;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement