You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by aw...@apache.org on 2020/07/15 08:36:27 UTC
[fineract] branch develop updated: FINERACT-822 add
MissingCasesInEnumSwitch
This is an automated email from the ASF dual-hosted git repository.
awasum pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git
The following commit(s) were added to refs/heads/develop by this push:
new bbb3aad FINERACT-822 add MissingCasesInEnumSwitch
bbb3aad is described below
commit bbb3aad5060cb88f4396b8e55dbde2a761c2e435
Author: percyashu <pe...@gmail.com>
AuthorDate: Mon Jun 8 03:14:01 2020 +0100
FINERACT-822 add MissingCasesInEnumSwitch
---
.../data/AccountNumberFormatDataValidator.java | 9 ++++++++-
...AccountNumberFormatReadPlatformServiceImpl.java | 8 +++++++-
.../domain/WorkingDaysEnumerations.java | 5 ++++-
.../service/AccountEnumerations.java | 4 +++-
.../service/InterestRateChartEnumerations.java | 9 ++++++++-
.../portfolio/loanaccount/domain/Loan.java | 7 ++++++-
.../loanschedule/domain/AprCalculator.java | 5 ++++-
.../DefaultPaymentPeriodsInOneYearCalculator.java | 12 ++++++++++--
.../domain/DefaultScheduledDateGenerator.java | 16 +++++++++++++---
.../loanschedule/domain/LoanApplicationTerms.java | 12 ++++++++++--
.../portfolio/note/api/NotesApiResource.java | 5 +++++
.../NoteWritePlatformServiceJpaRepositoryImpl.java | 10 +++++++++-
.../portfolio/savings/DepositAccountUtils.java | 8 +++++++-
.../portfolio/savings/domain/SavingsAccount.java | 8 +++++++-
.../savings/domain/SavingsAccountCharge.java | 22 +++++++++++++++++++---
.../serialization/ShareAccountDataSerializer.java | 7 ++++++-
16 files changed, 126 insertions(+), 21 deletions(-)
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/accountnumberformat/data/AccountNumberFormatDataValidator.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/accountnumberformat/data/AccountNumberFormatDataValidator.java
index 080635a..09c8a42 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/accountnumberformat/data/AccountNumberFormatDataValidator.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/accountnumberformat/data/AccountNumberFormatDataValidator.java
@@ -23,6 +23,7 @@ import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
@@ -37,6 +38,8 @@ import org.apache.fineract.infrastructure.core.data.DataValidatorBuilder;
import org.apache.fineract.infrastructure.core.exception.InvalidJsonException;
import org.apache.fineract.infrastructure.core.exception.PlatformApiDataValidationException;
import org.apache.fineract.infrastructure.core.serialization.FromJsonHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -45,6 +48,8 @@ public class AccountNumberFormatDataValidator {
private final FromJsonHelper fromApiJsonHelper;
+ private static final Logger LOG = LoggerFactory.getLogger(AccountNumberFormatDataValidator.class);
+
private static final Set<String> ACCOUNT_NUMBER_FORMAT_CREATE_REQUEST_DATA_PARAMETERS = new HashSet<>(
Arrays.asList(AccountNumberFormatConstants.accountTypeParamName, AccountNumberFormatConstants.prefixTypeParamName));
@@ -125,7 +130,9 @@ public class AccountNumberFormatDataValidator {
case GROUP:
validAccountNumberPrefixes = AccountNumberFormatEnumerations.accountNumberPrefixesForGroups;
break;
- default:
+ case SHARES:
+ validAccountNumberPrefixes = Collections.emptySet();
+ break;
}
Set<Integer> validAccountNumberPrefixValues = new HashSet<>();
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/accountnumberformat/service/AccountNumberFormatReadPlatformServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/accountnumberformat/service/AccountNumberFormatReadPlatformServiceImpl.java
index ff8c298..d22f02f 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/accountnumberformat/service/AccountNumberFormatReadPlatformServiceImpl.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/accountnumberformat/service/AccountNumberFormatReadPlatformServiceImpl.java
@@ -34,6 +34,8 @@ import org.apache.fineract.infrastructure.accountnumberformat.exception.AccountN
import org.apache.fineract.infrastructure.core.data.EnumOptionData;
import org.apache.fineract.infrastructure.core.domain.JdbcSupport;
import org.apache.fineract.infrastructure.core.service.RoutingDataSource;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.EmptyResultDataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;
@@ -43,6 +45,8 @@ import org.springframework.stereotype.Service;
@Service
public class AccountNumberFormatReadPlatformServiceImpl implements AccountNumberFormatReadPlatformService {
+ private static final Logger LOG = LoggerFactory.getLogger(AccountNumberFormatReadPlatformServiceImpl.class);
+
private final JdbcTemplate jdbcTemplate;
// data mapper
@@ -144,7 +148,9 @@ public class AccountNumberFormatReadPlatformServiceImpl implements AccountNumber
case GROUP:
accountNumberPrefixTypesSet = AccountNumberFormatEnumerations.accountNumberPrefixesForGroups;
break;
- default:
+ case SHARES:
+ // SHARES has no prefix
+ break;
}
Object[] array = accountNumberPrefixTypesSet.toArray();
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/workingdays/domain/WorkingDaysEnumerations.java b/fineract-provider/src/main/java/org/apache/fineract/organisation/workingdays/domain/WorkingDaysEnumerations.java
index 190a268..6da9080 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/organisation/workingdays/domain/WorkingDaysEnumerations.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/organisation/workingdays/domain/WorkingDaysEnumerations.java
@@ -52,7 +52,10 @@ public class WorkingDaysEnumerations {
optionData = new EnumOptionData(RepaymentRescheduleType.MOVE_TO_PREVIOUS_WORKING_DAY.getValue().longValue(),
RepaymentRescheduleType.MOVE_TO_PREVIOUS_WORKING_DAY.getCode(), "move to previous working day");
break;
- default:
+ case MOVE_TO_NEXT_MEETING_DAY:
+ optionData = new EnumOptionData(RepaymentRescheduleType.MOVE_TO_NEXT_MEETING_DAY.getValue().longValue(),
+ RepaymentRescheduleType.MOVE_TO_NEXT_MEETING_DAY.getCode(), "move to next meeting day");
+ break;
}
return optionData;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/accountdetails/service/AccountEnumerations.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/accountdetails/service/AccountEnumerations.java
index 1f59da3..0cdb61d 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/accountdetails/service/AccountEnumerations.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/accountdetails/service/AccountEnumerations.java
@@ -51,7 +51,9 @@ public class AccountEnumerations {
case GLIM:
optionData = new EnumOptionData(AccountType.GLIM.getValue().longValue(), AccountType.GLIM.getCode(), "GLIM");
break;
- default:
+ case GSIM:
+ optionData = new EnumOptionData(AccountType.GSIM.getValue().longValue(), AccountType.GSIM.getCode(), "GSIM");
+ break;
}
return optionData;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/interestratechart/service/InterestRateChartEnumerations.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/interestratechart/service/InterestRateChartEnumerations.java
index 3228093..bf03017 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/interestratechart/service/InterestRateChartEnumerations.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/interestratechart/service/InterestRateChartEnumerations.java
@@ -22,9 +22,13 @@ import java.util.ArrayList;
import java.util.List;
import org.apache.fineract.infrastructure.core.data.EnumOptionData;
import org.apache.fineract.portfolio.common.domain.PeriodFrequencyType;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class InterestRateChartEnumerations {
+ private static final Logger LOG = LoggerFactory.getLogger(InterestRateChartEnumerations.class);
+
public static EnumOptionData periodType(final Integer type) {
return periodType(PeriodFrequencyType.fromInt(type));
}
@@ -52,7 +56,10 @@ public class InterestRateChartEnumerations {
optionData = new EnumOptionData(PeriodFrequencyType.YEARS.getValue().longValue(), PeriodFrequencyType.YEARS.getCode(),
"Years");
break;
- default:
+ case WHOLE_TERM:
+ optionData = new EnumOptionData(PeriodFrequencyType.WHOLE_TERM.getValue().longValue(),
+ PeriodFrequencyType.WHOLE_TERM.getCode(), "Whole Term");
+ break;
}
return optionData;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/Loan.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/Loan.java
index 024ff00..b8a2850 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/Loan.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/Loan.java
@@ -142,6 +142,8 @@ import org.joda.time.LocalDate;
import org.joda.time.LocalDateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@Entity
@@ -150,6 +152,8 @@ import org.springframework.stereotype.Component;
@UniqueConstraint(columnNames = { "external_id" }, name = "loan_externalid_UNIQUE") })
public class Loan extends AbstractPersistableCustom {
+ private static final Logger LOG = LoggerFactory.getLogger(Loan.class);
+
/** Disable optimistic locking till batch jobs failures can be fixed **/
@Version
int version;
@@ -4478,7 +4482,8 @@ public class Loan extends AbstractPersistableCustom {
break;
case INVALID:
break;
- default:
+ case WHOLE_TERM:
+ break;
}
return dueRepaymentPeriodDate.minusDays(1);// get 2n-1 range date from
// startDate
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/domain/AprCalculator.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/domain/AprCalculator.java
index 7491302..500bdc0 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/domain/AprCalculator.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/domain/AprCalculator.java
@@ -59,7 +59,10 @@ public class AprCalculator {
case YEARS:
defaultAnnualNominalInterestRate = ratePerPeriod.multiply(BigDecimal.valueOf(1));
break;
- default:
+ case WHOLE_TERM:
+ break;
+ case INVALID:
+ break;
}
break;
case INVALID:
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/domain/DefaultPaymentPeriodsInOneYearCalculator.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/domain/DefaultPaymentPeriodsInOneYearCalculator.java
index 9fa9baf..99a7211 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/domain/DefaultPaymentPeriodsInOneYearCalculator.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/domain/DefaultPaymentPeriodsInOneYearCalculator.java
@@ -22,9 +22,13 @@ import org.apache.fineract.infrastructure.core.domain.LocalDateInterval;
import org.apache.fineract.portfolio.common.domain.PeriodFrequencyType;
import org.joda.time.Days;
import org.joda.time.LocalDate;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class DefaultPaymentPeriodsInOneYearCalculator implements PaymentPeriodsInOneYearCalculator {
+ private static final Logger LOG = LoggerFactory.getLogger(DefaultPaymentPeriodsInOneYearCalculator.class);
+
@Override
public Integer calculate(final PeriodFrequencyType repaymentFrequencyType) {
@@ -45,7 +49,9 @@ public class DefaultPaymentPeriodsInOneYearCalculator implements PaymentPeriodsI
case INVALID:
paymentPeriodsInOneYear = Integer.valueOf(0);
break;
- default:
+ case WHOLE_TERM:
+ LOG.error("TODO Implement repaymentFrequencyType for WHOLE_TERM");
+ break;
}
return paymentPeriodsInOneYear;
}
@@ -92,7 +98,9 @@ public class DefaultPaymentPeriodsInOneYearCalculator implements PaymentPeriodsI
case INVALID:
fraction = Double.valueOf("0");
break;
- default:
+ case WHOLE_TERM:
+ LOG.error("TODO Implement repaymentPeriodFrequencyType for WHOLE_TERM");
+ break;
}
return fraction;
}
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/domain/DefaultScheduledDateGenerator.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/domain/DefaultScheduledDateGenerator.java
index 1440ba0..09ee682 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/domain/DefaultScheduledDateGenerator.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/domain/DefaultScheduledDateGenerator.java
@@ -33,9 +33,13 @@ import org.joda.time.LocalDate;
import org.joda.time.Months;
import org.joda.time.Weeks;
import org.joda.time.Years;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class DefaultScheduledDateGenerator implements ScheduledDateGenerator {
+ private static final Logger LOG = LoggerFactory.getLogger(DefaultScheduledDateGenerator.class);
+
@Override
public LocalDate getLastRepaymentDate(final LoanApplicationTerms loanApplicationTerms, final HolidayDetailDTO holidayDetailDTO) {
@@ -225,7 +229,9 @@ public class DefaultScheduledDateGenerator implements ScheduledDateGenerator {
break;
case INVALID:
break;
- default:
+ case WHOLE_TERM:
+ LOG.error("TODO Implement getRepaymentPeriodDate for WHOLE_TERM");
+ break;
}
return dueRepaymentPeriodDate;
}
@@ -265,7 +271,9 @@ public class DefaultScheduledDateGenerator implements ScheduledDateGenerator {
break;
case INVALID:
break;
- default:
+ case WHOLE_TERM:
+ LOG.error("TODO Implement isDateFallsInSchedule for WHOLE_TERM");
+ break;
}
return isScheduledDate;
}
@@ -300,7 +308,9 @@ public class DefaultScheduledDateGenerator implements ScheduledDateGenerator {
break;
case INVALID:
break;
- default:
+ case WHOLE_TERM:
+ LOG.error("TODO Implement repaymentPeriodFrequencyType for WHOLE_TERM");
+ break;
}
return idealDisbursementDate;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/domain/LoanApplicationTerms.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/domain/LoanApplicationTerms.java
index 7bf3d1d..f1d8fff 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/domain/LoanApplicationTerms.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/domain/LoanApplicationTerms.java
@@ -57,9 +57,13 @@ import org.joda.time.Period;
import org.joda.time.PeriodType;
import org.joda.time.Weeks;
import org.joda.time.Years;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public final class LoanApplicationTerms {
+ private static final Logger LOG = LoggerFactory.getLogger(LoanApplicationTerms.class);
+
private final ApplicationCurrency currency;
private final Calendar loanCalendar;
@@ -648,7 +652,9 @@ public final class LoanApplicationTerms {
break;
case INVALID:
break;
- default:
+ case WHOLE_TERM:
+ LOG.error("TODO Implement getPeriodEndDate for WHOLE_TERM");
+ break;
}
return dueRepaymentPeriodDate;
}
@@ -1038,7 +1044,9 @@ public final class LoanApplicationTerms {
}
periodicInterestRate = oneDayOfYearInterestRate.multiply(numberOfDaysInPeriod, mc);
break;
- default:
+ case WHOLE_TERM:
+ LOG.error("TODO Implement periodicInterestRate for WHOLE_TERM");
+ break;
}
break;
case SAME_AS_REPAYMENT_PERIOD:
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/note/api/NotesApiResource.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/note/api/NotesApiResource.java
index c40ad3d..26ec4fd 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/note/api/NotesApiResource.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/note/api/NotesApiResource.java
@@ -54,6 +54,8 @@ import org.apache.fineract.portfolio.note.data.NoteData;
import org.apache.fineract.portfolio.note.domain.NoteType;
import org.apache.fineract.portfolio.note.exception.NoteResourceNotSupportedException;
import org.apache.fineract.portfolio.note.service.NoteReadPlatformService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
@@ -69,6 +71,7 @@ public class NotesApiResource {
Arrays.asList("id", "clientId", "groupId", "loanId", "loanTransactionId", "depositAccountId", "savingAccountId", "noteType",
"note", "createdById", "createdByUsername", "createdOn", "updatedById", "updatedByUsername", "updatedOn"));
+ private static final Logger LOG = LoggerFactory.getLogger(NotesApiResource.class);
private final PlatformSecurityContext context;
private final NoteReadPlatformService readPlatformService;
private final DefaultToApiJsonSerializer<NoteData> toApiJsonSerializer;
@@ -254,6 +257,8 @@ public class NotesApiResource {
resourceDetails.withGroupId(resourceId);
break;
default:
+ resourceNameForPermissions = "INVALIDNOTE";
+ break;
}
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/note/service/NoteWritePlatformServiceJpaRepositoryImpl.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/note/service/NoteWritePlatformServiceJpaRepositoryImpl.java
index c679946..446e510 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/note/service/NoteWritePlatformServiceJpaRepositoryImpl.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/note/service/NoteWritePlatformServiceJpaRepositoryImpl.java
@@ -40,12 +40,15 @@ import org.apache.fineract.portfolio.note.domain.NoteType;
import org.apache.fineract.portfolio.note.exception.NoteNotFoundException;
import org.apache.fineract.portfolio.note.exception.NoteResourceNotSupportedException;
import org.apache.fineract.portfolio.note.serialization.NoteCommandFromApiJsonDeserializer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class NoteWritePlatformServiceJpaRepositoryImpl implements NoteWritePlatformService {
+ private static final Logger LOG = LoggerFactory.getLogger(NoteWritePlatformServiceJpaRepositoryImpl.class);
private final NoteRepository noteRepository;
private final ClientRepositoryWrapper clientRepository;
private final GroupRepository groupRepository;
@@ -446,7 +449,12 @@ public class NoteWritePlatformServiceJpaRepositoryImpl implements NoteWritePlatf
// break;
case SAVING_ACCOUNT:
break;
- default:
+ case SHARE_ACCOUNT:
+ LOG.error("TODO Implement getNoteForDelete for SHARE_ACCOUNT");
+ break;
+ case SAVINGS_TRANSACTION:
+ LOG.error("TODO Implement getNoteForDelete for SAVINGS_TRANSACTION");
+ break;
}
if (noteForUpdate == null) {
throw new NoteNotFoundException(noteId, resourceId, type.name().toLowerCase());
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/DepositAccountUtils.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/DepositAccountUtils.java
index 2660418..62e75fa 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/DepositAccountUtils.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/DepositAccountUtils.java
@@ -22,9 +22,13 @@ import org.apache.fineract.portfolio.calendar.domain.CalendarFrequencyType;
import org.apache.fineract.portfolio.calendar.service.CalendarUtils;
import org.apache.fineract.portfolio.common.domain.PeriodFrequencyType;
import org.joda.time.LocalDate;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class DepositAccountUtils {
+ private static final Logger LOG = LoggerFactory.getLogger(DepositAccountUtils.class);
+
public static final int GENERATE_MINIMUM_NUMBER_OF_FUTURE_INSTALMENTS = 5;
public static LocalDate calculateNextDepositDate(final LocalDate lastDepositDate, final PeriodFrequencyType frequency,
@@ -46,7 +50,9 @@ public class DepositAccountUtils {
break;
case INVALID:
break;
- default:
+ case WHOLE_TERM:
+ LOG.error("TODO Implement calculateNextDepositDate for WHOLE_TERM");
+ break;
}
return nextDepositDate;
}
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/SavingsAccount.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/SavingsAccount.java
index 8e9ef31..2117433 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/SavingsAccount.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/SavingsAccount.java
@@ -117,6 +117,8 @@ import org.apache.fineract.useradministration.domain.AppUser;
import org.joda.time.LocalDate;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.util.CollectionUtils;
@Entity
@@ -127,6 +129,8 @@ import org.springframework.util.CollectionUtils;
@DiscriminatorValue("100")
public class SavingsAccount extends AbstractPersistableCustom {
+ private static final Logger LOG = LoggerFactory.getLogger(SavingsAccount.class);
+
@Version
int version;
@@ -2383,7 +2387,9 @@ public class SavingsAccount extends AbstractPersistableCustom {
case YEARS:
lockedInUntilLocalDate = activationLocalDate.plusYears(this.lockinPeriodFrequency).toDate();
break;
- default:
+ case WHOLE_TERM:
+ LOG.error("TODO Implement calculateDateAccountIsLockedUntil for WHOLE_TERM");
+ break;
}
return lockedInUntilLocalDate;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/SavingsAccountCharge.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/SavingsAccountCharge.java
index 9a9f0d7..38f3183 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/SavingsAccountCharge.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/SavingsAccountCharge.java
@@ -51,6 +51,8 @@ import org.apache.fineract.portfolio.charge.domain.ChargeTimeType;
import org.apache.fineract.portfolio.charge.exception.SavingsAccountChargeWithoutMandatoryFieldException;
import org.joda.time.LocalDate;
import org.joda.time.MonthDay;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* @author dv6
@@ -60,6 +62,8 @@ import org.joda.time.MonthDay;
@Table(name = "m_savings_account_charge")
public class SavingsAccountCharge extends AbstractPersistableCustom {
+ private static final Logger LOG = LoggerFactory.getLogger(SavingsAccountCharge.class);
+
@ManyToOne(optional = false)
@JoinColumn(name = "savings_account_id", referencedColumnName = "id", nullable = false)
private SavingsAccount savingsAccount;
@@ -290,7 +294,15 @@ public class SavingsAccountCharge extends AbstractPersistableCustom {
this.amountWaived = null;
this.amountWrittenOff = null;
break;
- default:
+ case PERCENT_OF_DISBURSEMENT_AMOUNT:
+ this.percentage = null;
+ this.amount = null;
+ this.amountPercentageAppliedTo = null;
+ this.amountPaid = null;
+ this.amountOutstanding = BigDecimal.ZERO;
+ this.amountWaived = null;
+ this.amountWrittenOff = null;
+ break;
}
}
@@ -419,7 +431,9 @@ public class SavingsAccountCharge extends AbstractPersistableCustom {
this.amountPercentageAppliedTo = null;
this.amountOutstanding = null;
break;
- default:
+ case PERCENT_OF_DISBURSEMENT_AMOUNT:
+ LOG.error("TODO Implement update ChargeCalculationType for PERCENT_OF_DISBURSEMENT_AMOUNT");
+ break;
}
}
}
@@ -493,7 +507,9 @@ public class SavingsAccountCharge extends AbstractPersistableCustom {
this.amountPercentageAppliedTo = null;
this.amountOutstanding = null;
break;
- default:
+ case PERCENT_OF_DISBURSEMENT_AMOUNT:
+ LOG.error("TODO Implement update ChargeCalculationType for PERCENT_OF_DISBURSEMENT_AMOUNT");
+ break;
}
}
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/shareaccounts/serialization/ShareAccountDataSerializer.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/shareaccounts/serialization/ShareAccountDataSerializer.java
index 3be51c4..d52125b 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/shareaccounts/serialization/ShareAccountDataSerializer.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/shareaccounts/serialization/ShareAccountDataSerializer.java
@@ -69,12 +69,16 @@ import org.apache.fineract.useradministration.domain.AppUser;
import org.joda.time.LocalDate;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class ShareAccountDataSerializer {
+ private static final Logger LOG = LoggerFactory.getLogger(ShareAccountDataSerializer.class);
+
private final PlatformSecurityContext platformSecurityContext;
private final FromJsonHelper fromApiJsonHelper;
@@ -967,7 +971,8 @@ public class ShareAccountDataSerializer {
case YEARS:
lockinDate = purchaseDate.plusYears(lockinPeriod);
break;
- default:
+ case WHOLE_TERM: // Never comes in to this state.
+ break;
}
}
return lockinDate;