diff --git a/transaction-processor/src/main/java/cz/muni/pa165/banking/domain/account/Account.java b/transaction-processor/src/main/java/cz/muni/pa165/banking/domain/account/Account.java index 08fb772787a4ca38f2c8a3406f150da4bcaaf3cd..5be7d59855b014a9858b94c188033c86d822a6a5 100644 --- a/transaction-processor/src/main/java/cz/muni/pa165/banking/domain/account/Account.java +++ b/transaction-processor/src/main/java/cz/muni/pa165/banking/domain/account/Account.java @@ -1,5 +1,7 @@ package cz.muni.pa165.banking.domain.account; +import java.util.Objects; + public class Account { private String accountNumber; @@ -19,4 +21,24 @@ public class Account { public void setAccountNumber(String accountNumber) { this.accountNumber = accountNumber; } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Account account = (Account) o; + return Objects.equals(getAccountNumber(), account.getAccountNumber()); + } + + @Override + public int hashCode() { + return Objects.hash(getAccountNumber()); + } + + @Override + public String toString() { + return "Account{" + + "accountNumber='" + accountNumber + '\'' + + '}'; + } } diff --git a/transaction-processor/src/main/java/cz/muni/pa165/banking/domain/messaging/ProcessRequest.java b/transaction-processor/src/main/java/cz/muni/pa165/banking/domain/messaging/ProcessRequest.java index dece4563799f49937d07416f49319310d3a9adf4..f70a6996f917e6456f0c4f7ad87478139bd02037 100644 --- a/transaction-processor/src/main/java/cz/muni/pa165/banking/domain/messaging/ProcessRequest.java +++ b/transaction-processor/src/main/java/cz/muni/pa165/banking/domain/messaging/ProcessRequest.java @@ -2,10 +2,24 @@ package cz.muni.pa165.banking.domain.messaging; import cz.muni.pa165.banking.domain.transaction.TransactionType; +import java.util.Objects; import java.util.UUID; public record ProcessRequest(UUID uuid, TransactionType type) { + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + ProcessRequest request = (ProcessRequest) o; + return Objects.equals(uuid, request.uuid) && type == request.type; + } + + @Override + public int hashCode() { + return Objects.hash(uuid, type); + } + @Override public String toString() { return "ProcessRequest{" + diff --git a/transaction-processor/src/main/java/cz/muni/pa165/banking/domain/money/Money.java b/transaction-processor/src/main/java/cz/muni/pa165/banking/domain/money/Money.java index d3382ff80c9e952180b88708516f238b0f63cfdf..e6dc93e83c15d6d735beb3616e3380b1105518bb 100644 --- a/transaction-processor/src/main/java/cz/muni/pa165/banking/domain/money/Money.java +++ b/transaction-processor/src/main/java/cz/muni/pa165/banking/domain/money/Money.java @@ -2,6 +2,7 @@ package cz.muni.pa165.banking.domain.money; import java.math.BigDecimal; import java.util.Currency; +import java.util.Objects; public class Money { @@ -32,4 +33,25 @@ public class Money { public void setCurrency(String currencyCode) { this.currency = Currency.getInstance(currencyCode); } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Money money = (Money) o; + return Objects.equals(getAmount(), money.getAmount()) && Objects.equals(getCurrency(), money.getCurrency()); + } + + @Override + public int hashCode() { + return Objects.hash(getAmount(), getCurrency()); + } + + @Override + public String toString() { + return "Money{" + + "amount=" + amount + + ", currency=" + currency + + '}'; + } } diff --git a/transaction-processor/src/main/java/cz/muni/pa165/banking/domain/process/Process.java b/transaction-processor/src/main/java/cz/muni/pa165/banking/domain/process/Process.java index b0e7aa0bb280d8b64298ee221a96afb7fae07083..c9b0b940a7bbcd52854719bf31298bbfa62733a3 100644 --- a/transaction-processor/src/main/java/cz/muni/pa165/banking/domain/process/Process.java +++ b/transaction-processor/src/main/java/cz/muni/pa165/banking/domain/process/Process.java @@ -5,6 +5,7 @@ import cz.muni.pa165.banking.domain.process.status.StatusInformation; import jakarta.persistence.Entity; import java.time.Instant; +import java.util.Objects; import java.util.UUID; @Entity @@ -52,5 +53,25 @@ public class Process { void setCurrentStatus(StatusInformation information) { currentStatus = information; } - + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Process process = (Process) o; + return Objects.equals(getUuid(), process.getUuid()) && Objects.equals(getCurrentStatus(), process.getCurrentStatus()); + } + + @Override + public int hashCode() { + return Objects.hash(getUuid(), getCurrentStatus()); + } + + @Override + public String toString() { + return "Process{" + + "uuid=" + uuid + + ", currentStatus=" + currentStatus + + '}'; + } } diff --git a/transaction-processor/src/main/java/cz/muni/pa165/banking/domain/process/ProcessTransaction.java b/transaction-processor/src/main/java/cz/muni/pa165/banking/domain/process/ProcessTransaction.java index fd98d790e5c26965a11c0b6d19638520ce444ffb..44876ab7f4e390e6f33e061e35eb677cd98513cb 100644 --- a/transaction-processor/src/main/java/cz/muni/pa165/banking/domain/process/ProcessTransaction.java +++ b/transaction-processor/src/main/java/cz/muni/pa165/banking/domain/process/ProcessTransaction.java @@ -6,6 +6,7 @@ import cz.muni.pa165.banking.domain.transaction.Transaction; import cz.muni.pa165.banking.domain.transaction.TransactionType; import jakarta.persistence.Entity; +import java.util.Objects; import java.util.UUID; @Entity @@ -36,4 +37,23 @@ public class ProcessTransaction extends Transaction { public void setUuid(UUID uuid) { this.uuid = uuid; } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof ProcessTransaction that)) return false; + return Objects.equals(getUuid(), that.getUuid()); + } + + @Override + public int hashCode() { + return Objects.hash(getUuid()); + } + + @Override + public String toString() { + return "ProcessTransaction{" + + "uuid=" + uuid + + "} " + super.toString(); + } } diff --git a/transaction-processor/src/main/java/cz/muni/pa165/banking/domain/transaction/Transaction.java b/transaction-processor/src/main/java/cz/muni/pa165/banking/domain/transaction/Transaction.java index 6b0ed7892a1349d1968d3737f502c36f6c54b219..e363c572df66bd3a36dd8a4939b6818c7e846381 100644 --- a/transaction-processor/src/main/java/cz/muni/pa165/banking/domain/transaction/Transaction.java +++ b/transaction-processor/src/main/java/cz/muni/pa165/banking/domain/transaction/Transaction.java @@ -3,6 +3,8 @@ package cz.muni.pa165.banking.domain.transaction; import cz.muni.pa165.banking.domain.account.Account; import cz.muni.pa165.banking.domain.money.Money; +import java.util.Objects; + public class Transaction { private Account source; @@ -74,4 +76,26 @@ public class Transaction { this.detail = detail; } + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof Transaction that)) return false; + return Objects.equals(getSource(), that.getSource()) && Objects.equals(getTarget(), that.getTarget()) && getType() == that.getType() && Objects.equals(getMoney(), that.getMoney()) && Objects.equals(getDetail(), that.getDetail()); + } + + @Override + public int hashCode() { + return Objects.hash(getSource(), getTarget(), getType(), getMoney(), getDetail()); + } + + @Override + public String toString() { + return "Transaction{" + + "source=" + source + + ", target=" + target + + ", type=" + type + + ", money=" + money + + ", detail='" + detail + '\'' + + '}'; + } }