Skip to content

Commit 3c8af86

Browse files
authored
Merge pull request #7 from javatodev/pre-development
Pre development
2 parents 4a32d81 + 65b5183 commit 3c8af86

File tree

59 files changed

+815
-134
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+815
-134
lines changed

.DS_Store

0 Bytes
Binary file not shown.

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,10 @@ Article series
6060

6161
[8. Microservices – Utility Payment Service Implementation](https://javatodev.com/microservices-utility-payment-service-implementation/)
6262

63+
[9. Microservices – Communication With Spring Cloud OpenFeign](https://javatodev.com/microservices-communication-with-spring-cloud-openfeign/)
64+
65+
[9. Microservices – Exception Handling](https://javatodev.com/microservices-exception-handling/)
66+
6367
#### Author
6468

6569
<h1 align="center">Hi 👋, I'm Chinthaka Dinadasa</h1>

core-banking-service/src/main/java/com/javatodev/finance/controller/UserController.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,8 @@ public ResponseEntity readUser(@PathVariable("identification") String identifica
2626
}
2727

2828
@GetMapping
29-
public ResponseEntity readUser(@RequestHeader("X-Auth-Id") String authId, Pageable pageable) {
30-
log.info("Requesting as user {}", authId);
31-
return ResponseEntity.ok(messageSource.getMessage("hello.message", null, LocaleContextHolder.getLocale()));
29+
public ResponseEntity readUsers(Pageable pageable) {
30+
return ResponseEntity.ok(userService.readUsers(pageable));
3231
}
3332

3433
}

core-banking-service/src/main/java/com/javatodev/finance/exception/EntityNotFoundException.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.javatodev.finance.exception;
22

3-
public class EntityNotFoundException extends SimpleBankingGlobalException{
3+
public class EntityNotFoundException extends SimpleBankingGlobalException {
44
public EntityNotFoundException() {
55
super("Requested entity not present in the DB.", GlobalErrorCode.ERROR_ENTITY_NOT_FOUND);
66
}
Lines changed: 5 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,11 @@
11
package com.javatodev.finance.exception;
22

3+
import lombok.*;
4+
5+
@Getter
6+
@Setter
7+
@Builder
38
public class ErrorResponse {
49
private String code;
510
private String message;
6-
7-
public String getCode() {
8-
return code;
9-
}
10-
11-
public void setCode(String code) {
12-
this.code = code;
13-
}
14-
15-
public String getMessage() {
16-
return message;
17-
}
18-
19-
public void setMessage(String message) {
20-
this.message = message;
21-
}
22-
23-
public ErrorResponse(String code, String message) {
24-
this.code = code;
25-
this.message = message;
26-
}
2711
}
Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
package com.javatodev.finance.exception;
22

33
public class GlobalErrorCode {
4-
5-
public static final String ERROR_ENTITY_NOT_FOUND = "BANK-CORE-1000";
6-
public static final String INSUFFICIENT_FUNDS = "BANK-CORE-1001";
7-
4+
public static final String ERROR_ENTITY_NOT_FOUND = "BANKING-CORE-SERVICE-1000";
5+
public static final String INSUFFICIENT_FUNDS = "BANKING-CORE-SERVICE-1001";
86
}

core-banking-service/src/main/java/com/javatodev/finance/exception/GlobalExceptionHandler.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,13 @@
1111
public class GlobalExceptionHandler extends ResponseEntityExceptionHandler {
1212

1313
@ExceptionHandler(SimpleBankingGlobalException.class)
14-
protected ResponseEntity handleGlobalException(SimpleBankingGlobalException e, Locale locale) {
14+
protected ResponseEntity handleGlobalException(SimpleBankingGlobalException simpleBankingGlobalException, Locale locale) {
1515
return ResponseEntity
1616
.badRequest()
17-
.body(new ErrorResponse(e.getCode(), e.getMessage()));
17+
.body(ErrorResponse.builder()
18+
.code(simpleBankingGlobalException.getCode())
19+
.message(simpleBankingGlobalException.getMessage())
20+
.build());
1821
}
1922

2023
@ExceptionHandler({Exception.class})
@@ -23,4 +26,5 @@ protected ResponseEntity handleException(Exception e, Locale locale) {
2326
.badRequest()
2427
.body("Exception occur inside API " + e);
2528
}
29+
2630
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.javatodev.finance.exception;
2+
3+
public class InsufficientFundsException extends SimpleBankingGlobalException {
4+
public InsufficientFundsException(String message, String code) {
5+
super(message, code);
6+
}
7+
}
Lines changed: 11 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,20 @@
11
package com.javatodev.finance.exception;
22

3+
import lombok.AllArgsConstructor;
4+
import lombok.Getter;
5+
import lombok.NoArgsConstructor;
6+
import lombok.Setter;
7+
8+
@Getter
9+
@Setter
10+
@AllArgsConstructor
11+
@NoArgsConstructor
312
public class SimpleBankingGlobalException extends RuntimeException {
413

514
private String code;
615
private String message;
716

8-
public SimpleBankingGlobalException() {
17+
public SimpleBankingGlobalException(String message) {
18+
super(message);
919
}
10-
11-
public SimpleBankingGlobalException(String code, String message) {
12-
this.code = code;
13-
this.message = message;
14-
}
15-
16-
public String getCode() {
17-
return code;
18-
}
19-
20-
public void setCode(String code) {
21-
this.code = code;
22-
}
23-
24-
public String getMessage() {
25-
return message;
26-
}
27-
28-
public void setMessage(String message) {
29-
this.message = message;
30-
}
31-
3220
}

core-banking-service/src/main/java/com/javatodev/finance/service/AccountService.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.javatodev.finance.service;
22

3+
import com.javatodev.finance.exception.EntityNotFoundException;
34
import com.javatodev.finance.model.dto.BankAccount;
45
import com.javatodev.finance.model.dto.UtilityAccount;
56
import com.javatodev.finance.model.entity.BankAccountEntity;
@@ -22,17 +23,17 @@ public class AccountService {
2223
private final UtilityAccountRepository utilityAccountRepository;
2324

2425
public BankAccount readBankAccount(String accountNumber) {
25-
BankAccountEntity entity = bankAccountRepository.findByNumber(accountNumber).get();
26+
BankAccountEntity entity = bankAccountRepository.findByNumber(accountNumber).orElseThrow(EntityNotFoundException::new);
2627
return bankAccountMapper.convertToDto(entity);
2728
}
2829

2930
public UtilityAccount readUtilityAccount(String provider) {
30-
UtilityAccountEntity utilityAccountEntity = utilityAccountRepository.findByProviderName(provider).get();
31+
UtilityAccountEntity utilityAccountEntity = utilityAccountRepository.findByProviderName(provider).orElseThrow(EntityNotFoundException::new);
3132
return utilityAccountMapper.convertToDto(utilityAccountEntity);
3233
}
3334

3435
public UtilityAccount readUtilityAccount(Long id){
35-
return utilityAccountMapper.convertToDto(utilityAccountRepository.findById(id).get());
36+
return utilityAccountMapper.convertToDto(utilityAccountRepository.findById(id).orElseThrow(EntityNotFoundException::new));
3637
}
3738

3839
}

0 commit comments

Comments
 (0)