Skip to content

Commit 11bbb19

Browse files
conflict resolving
1 parent a5bc45f commit 11bbb19

2 files changed

Lines changed: 29 additions & 35 deletions

File tree

src/main/java/org/folio/dcb/integration/kafka/TransactionHelper.java

Lines changed: 28 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -65,36 +65,34 @@ public static EventData parseLoanEvent(String eventPayload) {
6565

6666
eventData.setDcb(!event.getNewNode().has(IS_DCB) || event.getNewNode().get(IS_DCB).asBoolean());
6767

68-
if (kafkaEvent.getNewNode().has(STATUS) && kafkaEvent.getNewNode().get(STATUS).has(STATUS_NAME)) {
69-
eventData.setLoanStatus(kafkaEvent.getNewNode().get(STATUS).get(STATUS_NAME).asText());
70-
}
71-
return eventData;
68+
if (event.getNewNode().has(STATUS) && event.getNewNode().get(STATUS).has(STATUS_NAME)) {
69+
eventData.setLoanStatus(event.getNewNode().get(STATUS).get(STATUS_NAME).asString());
7270
}
71+
72+
return eventData;
73+
}
7374
return null;
7475
}
7576

76-
public static EventData parseRequestEvent(String eventPayload){
77-
KafkaEvent kafkaEvent = new KafkaEvent(eventPayload);
78-
if(kafkaEvent.getEventType() == KafkaEvent.EventType.UPDATED && kafkaEvent.hasNewNode()
79-
&& kafkaEvent.getNewNode().has(STATUS)){
80-
EventData eventData = new EventData();
81-
eventData.setRequestId(kafkaEvent.getNewNode().get("id").asText());
82-
eventData.setDcbReRequestCancellation(
83-
getNodeAsBooleanOrDefault(kafkaEvent, "dcbReRequestCancellation", false));
84-
RequestStatus requestStatus = RequestStatus.from(kafkaEvent.getNewNode().get(STATUS).asText());
85-
switch (requestStatus) {
86-
case OPEN_IN_TRANSIT -> eventData.setType(EventData.EventType.IN_TRANSIT);
87-
case OPEN_AWAITING_PICKUP, OPEN_AWAITING_DELIVERY ->
88-
eventData.setType(EventData.EventType.AWAITING_PICKUP);
89-
case CLOSED_CANCELLED, CLOSED_UNFILLED ->
90-
eventData.setType(EventData.EventType.CANCEL);
91-
case CLOSED_PICKUP_EXPIRED ->
92-
eventData.setType(EventData.EventType.EXPIRED);
93-
default -> log.info("parseRequestEvent:: Request status {} is not supported", requestStatus);
94-
}
95-
eventData.setDcb(checkDcbRequest(kafkaEvent));
96-
return eventData;
77+
public static EventData parseRequestEvent(String eventPayload) {
78+
var event = new KafkaEvent(eventPayload);
79+
if (event.getEventType() == KafkaEvent.EventType.UPDATED && event.hasNewNode() && event.getNewNode().has(STATUS)) {
80+
var eventData = new EventData();
81+
eventData.setRequestId(event.getNewNode().get("id").asString());
82+
eventData.setDcbReRequestCancellation(getNodeAsBooleanOrDefault(event, "dcbReRequestCancellation", false));
83+
84+
var requestStatus = RequestStatus.from(event.getNewNode().get(STATUS).asString());
85+
switch (requestStatus) {
86+
case OPEN_IN_TRANSIT -> eventData.setType(EventData.EventType.IN_TRANSIT);
87+
case OPEN_AWAITING_PICKUP, OPEN_AWAITING_DELIVERY -> eventData.setType(EventData.EventType.AWAITING_PICKUP);
88+
case CLOSED_CANCELLED, CLOSED_UNFILLED -> eventData.setType(EventData.EventType.CANCEL);
89+
case CLOSED_PICKUP_EXPIRED -> eventData.setType(EventData.EventType.EXPIRED);
90+
default -> log.info("parseRequestEvent:: Request status {} is not supported", requestStatus);
9791
}
92+
93+
eventData.setDcb(checkDcbRequest(event));
94+
return eventData;
95+
}
9896
return null;
9997
}
10098

@@ -111,19 +109,16 @@ public static EventData parseCheckInEvent(String eventPayload) {
111109
return null;
112110
}
113111

114-
private static boolean getNodeAsBooleanOrDefault(KafkaEvent kafkaEvent, String name,
115-
boolean defaultValue) {
116-
117-
JsonNode booleanNode = kafkaEvent.getNewNode().get(name);
118-
return Objects.nonNull(booleanNode)
119-
? booleanNode.asBoolean()
120-
: defaultValue;
112+
@SuppressWarnings("SameParameterValue")
113+
private static boolean getNodeAsBooleanOrDefault(KafkaEvent kafkaEvent, String name, boolean defaultValue) {
114+
var booleanNode = kafkaEvent.getNewNode().get(name);
115+
return Objects.nonNull(booleanNode) ? booleanNode.asBoolean() : defaultValue;
121116
}
122117

123118
private static boolean checkDcbRequest(KafkaEvent kafkaEvent) {
124119
var newNode = kafkaEvent.getNewNode();
125120
return newNode.has(INSTANCE)
126121
&& newNode.get(INSTANCE).has(TITLE)
127-
&& Objects.equals(DCB_INSTANCE_TITLE, newNode.get(INSTANCE).get(TITLE).asText());
122+
&& Objects.equals(DCB_INSTANCE_TITLE, newNode.get(INSTANCE).get(TITLE).asString());
128123
}
129124
}

src/main/java/org/folio/dcb/service/impl/TransactionsServiceImpl.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,7 @@ public TransactionStatusResponse updateTransactionStatus(String dcbTransactionId
106106
.forEach(statusEnum -> lendingLibraryService.updateTransactionStatus(dcbTransaction, TransactionStatus.builder().status(statusEnum).build()));
107107
case BORROWING_PICKUP -> borrowingPickupLibraryService.updateTransactionStatus(dcbTransaction, transactionStatus);
108108
case PICKUP -> pickupLibraryService.updateTransactionStatus(dcbTransaction, transactionStatus);
109-
case BORROWER -> statusProcessorService.borrowingChainProcessor(dcbTransaction.getStatus(), transactionStatus.getStatus())
110-
.forEach(statusEnum -> borrowingLibraryService.updateTransactionStatus(dcbTransaction, TransactionStatus.builder().status(statusEnum).build()));
109+
case BORROWER -> processBorrowerTransaction(transactionStatus, dcbTransaction);
111110
}
112111

113112
return TransactionStatusResponse.builder()

0 commit comments

Comments
 (0)