This is an automated email from the ASF dual-hosted git repository. myrle pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/fineract-cn-deposit-account-management.git
commit 0888194184598fdc9968f0a9e0fae29eb648b79b Author: mgeiss <[email protected]> AuthorDate: Wed Sep 6 14:23:42 2017 +0200 using numbers instead of a date for dividends due date --- .../api/v1/definition/domain/DividendDistribution.java | 15 +++++++++------ .../java/io/mifos/deposit/TestDividendDistribution.java | 7 ++++++- .../internal/mapper/DividendDistributionMapper.java | 5 +++-- .../service/rest/ProductDefinitionRestController.java | 2 +- 4 files changed, 19 insertions(+), 10 deletions(-) diff --git a/api/src/main/java/io/mifos/deposit/api/v1/definition/domain/DividendDistribution.java b/api/src/main/java/io/mifos/deposit/api/v1/definition/domain/DividendDistribution.java index 3186deb..01c9a12 100644 --- a/api/src/main/java/io/mifos/deposit/api/v1/definition/domain/DividendDistribution.java +++ b/api/src/main/java/io/mifos/deposit/api/v1/definition/domain/DividendDistribution.java @@ -15,12 +15,15 @@ */ package io.mifos.deposit.api.v1.definition.domain; +import io.mifos.core.lang.DateOfBirth; import org.hibernate.validator.constraints.NotBlank; +import javax.validation.constraints.NotNull; + public class DividendDistribution { - @NotBlank - private String dueDate; + @NotNull + private DateOfBirth dueDate; @NotBlank private String dividendRate; @@ -28,11 +31,11 @@ public class DividendDistribution { super(); } - public String getDueDate() { + public DateOfBirth getDueDate() { return this.dueDate; } - public void setDueDate(final String dueDate) { + public void setDueDate(final DateOfBirth dueDate) { this.dueDate = dueDate; } @@ -51,13 +54,13 @@ public class DividendDistribution { final DividendDistribution that = (DividendDistribution) o; - if (!dueDate.equals(that.dueDate)) return false; + if (!dueDate.toLocalDate().isEqual(that.dueDate.toLocalDate())) return false; return dividendRate.equals(that.dividendRate); } @Override public int hashCode() { - int result = dueDate.hashCode(); + int result = dueDate.toLocalDate().hashCode(); result = 31 * result + dividendRate.hashCode(); return result; } diff --git a/component-test/src/main/java/io/mifos/deposit/TestDividendDistribution.java b/component-test/src/main/java/io/mifos/deposit/TestDividendDistribution.java index e6360ed..27f2410 100644 --- a/component-test/src/main/java/io/mifos/deposit/TestDividendDistribution.java +++ b/component-test/src/main/java/io/mifos/deposit/TestDividendDistribution.java @@ -18,6 +18,7 @@ package io.mifos.deposit; import io.mifos.accounting.api.v1.domain.Account; import io.mifos.accounting.api.v1.domain.AccountType; import io.mifos.accounting.api.v1.domain.JournalEntry; +import io.mifos.core.lang.DateOfBirth; import io.mifos.deposit.api.v1.EventConstants; import io.mifos.deposit.api.v1.definition.domain.DividendDistribution; import io.mifos.deposit.api.v1.definition.domain.ProductDefinition; @@ -74,7 +75,11 @@ public class TestDividendDistribution extends AbstractDepositAccountManagementTe .when(super.accountingServiceSpy).findAccount(shareAccount.getIdentifier()); final DividendDistribution dividendDistribution = new DividendDistribution(); - dividendDistribution.setDueDate("2017-07-31Z"); + final DateOfBirth dueDate = new DateOfBirth(); + dueDate.setYear(2017); + dueDate.setMonth(7); + dueDate.setDay(31); + dividendDistribution.setDueDate(dueDate); dividendDistribution.setDividendRate("2.5"); this.depositAccountManager.dividendDistribution(productDefinition.getIdentifier(), dividendDistribution); diff --git a/service/src/main/java/io/mifos/deposit/service/internal/mapper/DividendDistributionMapper.java b/service/src/main/java/io/mifos/deposit/service/internal/mapper/DividendDistributionMapper.java index 7c01a8f..6503836 100644 --- a/service/src/main/java/io/mifos/deposit/service/internal/mapper/DividendDistributionMapper.java +++ b/service/src/main/java/io/mifos/deposit/service/internal/mapper/DividendDistributionMapper.java @@ -17,6 +17,7 @@ package io.mifos.deposit.service.internal.mapper; import io.mifos.core.api.util.UserContextHolder; import io.mifos.core.lang.DateConverter; +import io.mifos.core.lang.DateOfBirth; import io.mifos.deposit.api.v1.definition.domain.DividendDistribution; import io.mifos.deposit.service.internal.repository.DividendDistributionEntity; import io.mifos.deposit.service.internal.repository.ProductDefinitionEntity; @@ -36,7 +37,7 @@ public class DividendDistributionMapper { final DividendDistributionEntity dividendDistributionEntity = new DividendDistributionEntity(); dividendDistributionEntity.setProductDefinition(productDefinitionEntity); - final Date dueDate = Date.valueOf(DateConverter.dateFromIsoString(dividendDistribution.getDueDate())); + final Date dueDate = Date.valueOf(dividendDistribution.getDueDate().toLocalDate()); dividendDistributionEntity.setDueDate(dueDate); dividendDistributionEntity.setRate(Double.valueOf(dividendDistribution.getDividendRate())); dividendDistributionEntity.setCreatedOn(LocalDateTime.now(Clock.systemUTC())); @@ -49,7 +50,7 @@ public class DividendDistributionMapper { final DividendDistribution dividendDistribution = new DividendDistribution(); dividendDistribution.setDividendRate(dividendDistributionEntity.getRate().toString()); - dividendDistribution.setDueDate(DateConverter.toIsoString(dividendDistributionEntity.getDueDate().toLocalDate())); + dividendDistribution.setDueDate(DateOfBirth.fromLocalDate(dividendDistributionEntity.getDueDate().toLocalDate())); return dividendDistribution; } diff --git a/service/src/main/java/io/mifos/deposit/service/rest/ProductDefinitionRestController.java b/service/src/main/java/io/mifos/deposit/service/rest/ProductDefinitionRestController.java index 7c8f875..dfd1c1f 100644 --- a/service/src/main/java/io/mifos/deposit/service/rest/ProductDefinitionRestController.java +++ b/service/src/main/java/io/mifos/deposit/service/rest/ProductDefinitionRestController.java @@ -258,7 +258,7 @@ public class ProductDefinitionRestController { } } - final LocalDate dueDate = DateConverter.dateFromIsoString(dividendDistribution.getDueDate()); + final LocalDate dueDate = dividendDistribution.getDueDate().toLocalDate(); final Double amount = Double.valueOf(dividendDistribution.getDividendRate()); this.commandGateway.process(new DividendDistributionCommand(identifier, dueDate, amount)); -- To stop receiving notification emails like this one, please contact [email protected].
