/** * processTransferLoan * * @param udpMessage is an instance of TransferLoanMessage * @throws Exception */ private void processTransferLoan(UDPMessage udpMessage) throws Exception { if (udpMessage.getMessage() instanceof TransferLoanMessage) { TransferLoanMessage msg = (TransferLoanMessage) udpMessage.getMessage(); if (!this.bank.getServerName().equalsIgnoreCase(msg.getCurrentBank())) { msg.setException(new Exception("Wrong Bank Name! Request denied. processTransferLoan")); } else { boolean isTransferred = false; try { isTransferred = bank.transferLoan(msg.getLoanID(), msg.getOtherBank()); } catch (Exception e) { msg.setException(e); } msg.setTransferSuccessful(isTransferred); msg.setMachineName(Env.getMachineName()); } this.send(udpMessage); } else { throw new Exception("Invalid Object processTransferLoan"); } }