MIFOSX-97: move loan packaging.
This commit is contained in:
+1
-1
@@ -26,7 +26,6 @@ import org.mifosng.platform.api.commands.DepositAccountWithdrawInterestCommand;
|
||||
import org.mifosng.platform.api.commands.DepositAccountWithdrawalCommand;
|
||||
import org.mifosng.platform.api.commands.DepositStateTransitionApprovalCommand;
|
||||
import org.mifosng.platform.api.commands.DepositStateTransitionCommand;
|
||||
import org.mifosng.platform.api.commands.UndoStateTransitionCommand;
|
||||
import org.mifosng.platform.api.data.DepositAccountData;
|
||||
import org.mifosng.platform.api.data.DepositPermissionData;
|
||||
import org.mifosng.platform.api.data.DepositProductLookup;
|
||||
@@ -41,6 +40,7 @@ import org.mifosplatform.infrastructure.core.data.EntityIdentifier;
|
||||
import org.mifosplatform.infrastructure.core.data.EnumOptionData;
|
||||
import org.mifosplatform.infrastructure.core.exception.UnrecognizedQueryParamException;
|
||||
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
|
||||
import org.mifosplatform.portfolio.loanaccount.command.UndoStateTransitionCommand;
|
||||
import org.mifosplatform.portfolio.loanproduct.domain.PeriodFrequencyType;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
|
||||
+3
-3
@@ -6,12 +6,12 @@ import org.apache.commons.lang.StringUtils;
|
||||
import org.joda.time.LocalDate;
|
||||
import org.mifosng.platform.api.data.GuarantorData;
|
||||
import org.mifosng.platform.exceptions.GuarantorNotFoundException;
|
||||
import org.mifosng.platform.exceptions.LoanNotFoundException;
|
||||
import org.mifosng.platform.loan.domain.Loan;
|
||||
import org.mifosng.platform.loan.domain.LoanRepository;
|
||||
import org.mifosplatform.infrastructure.dataqueries.data.GenericResultsetData;
|
||||
import org.mifosplatform.infrastructure.dataqueries.service.ReadWriteNonCoreDataService;
|
||||
import org.mifosplatform.portfolio.client.domain.Client;
|
||||
import org.mifosplatform.portfolio.loanaccount.domain.Loan;
|
||||
import org.mifosplatform.portfolio.loanaccount.domain.LoanRepository;
|
||||
import org.mifosplatform.portfolio.loanaccount.exception.LoanNotFoundException;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
+3
-3
@@ -10,15 +10,15 @@ import java.util.Set;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.mifosng.platform.api.commands.GuarantorCommand;
|
||||
import org.mifosng.platform.exceptions.InvalidGuarantorException;
|
||||
import org.mifosng.platform.exceptions.LoanNotFoundException;
|
||||
import org.mifosng.platform.loan.domain.Loan;
|
||||
import org.mifosng.platform.loan.domain.LoanRepository;
|
||||
import org.mifosplatform.infrastructure.core.data.ApiParameterError;
|
||||
import org.mifosplatform.infrastructure.core.exception.PlatformApiDataValidationException;
|
||||
import org.mifosplatform.infrastructure.dataqueries.service.ReadWriteNonCoreDataService;
|
||||
import org.mifosplatform.portfolio.client.domain.Client;
|
||||
import org.mifosplatform.portfolio.client.domain.ClientRepository;
|
||||
import org.mifosplatform.portfolio.client.exception.ClientNotFoundException;
|
||||
import org.mifosplatform.portfolio.loanaccount.domain.Loan;
|
||||
import org.mifosplatform.portfolio.loanaccount.domain.LoanRepository;
|
||||
import org.mifosplatform.portfolio.loanaccount.exception.LoanNotFoundException;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
-9
@@ -1,9 +0,0 @@
|
||||
package org.mifosng.platform.loan.service;
|
||||
|
||||
import org.mifosng.platform.api.commands.CalculateLoanScheduleCommand;
|
||||
import org.mifosng.platform.api.data.LoanScheduleData;
|
||||
|
||||
public interface CalculationPlatformService {
|
||||
|
||||
LoanScheduleData calculateLoanSchedule(CalculateLoanScheduleCommand command);
|
||||
}
|
||||
+1
-1
@@ -5,8 +5,8 @@ import org.mifosng.platform.api.commands.DepositAccountWithdrawInterestCommand;
|
||||
import org.mifosng.platform.api.commands.DepositAccountWithdrawalCommand;
|
||||
import org.mifosng.platform.api.commands.DepositStateTransitionApprovalCommand;
|
||||
import org.mifosng.platform.api.commands.DepositStateTransitionCommand;
|
||||
import org.mifosng.platform.api.commands.UndoStateTransitionCommand;
|
||||
import org.mifosplatform.infrastructure.core.data.EntityIdentifier;
|
||||
import org.mifosplatform.portfolio.loanaccount.command.UndoStateTransitionCommand;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
|
||||
public interface DepositAccountWritePlatformService {
|
||||
|
||||
+1
-1
@@ -12,7 +12,6 @@ import org.mifosng.platform.api.commands.DepositAccountWithdrawInterestCommand;
|
||||
import org.mifosng.platform.api.commands.DepositAccountWithdrawalCommand;
|
||||
import org.mifosng.platform.api.commands.DepositStateTransitionApprovalCommand;
|
||||
import org.mifosng.platform.api.commands.DepositStateTransitionCommand;
|
||||
import org.mifosng.platform.api.commands.UndoStateTransitionCommand;
|
||||
import org.mifosng.platform.exceptions.DepositAccountNotFoundException;
|
||||
import org.mifosng.platform.exceptions.DepositAccountReopenException;
|
||||
import org.mifosng.platform.exceptions.DepositAccountTransactionsException;
|
||||
@@ -29,6 +28,7 @@ import org.mifosplatform.infrastructure.core.exception.PlatformDataIntegrityExce
|
||||
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
|
||||
import org.mifosplatform.portfolio.client.domain.Note;
|
||||
import org.mifosplatform.portfolio.client.domain.NoteRepository;
|
||||
import org.mifosplatform.portfolio.loanaccount.command.UndoStateTransitionCommand;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
+1
-1
@@ -7,4 +7,4 @@ public class ApiConstants {
|
||||
|
||||
// TODO:Vishwas Need to move these settings to the Database
|
||||
public static final Integer MAX_IMAGE_UPLOAD_SIZE_IN_MB = 1;
|
||||
}
|
||||
}
|
||||
+8
-8
@@ -63,15 +63,15 @@ public class ApiParameterHelper {
|
||||
return exportCsv;
|
||||
}
|
||||
|
||||
|
||||
public static boolean exportPdf(final MultivaluedMap<String, String> queryParams) {
|
||||
boolean exportPDF = false;
|
||||
if (queryParams.getFirst("exportPDF") != null) {
|
||||
String exportPdfValue = queryParams.getFirst("exportPDF");
|
||||
exportPDF = "true".equalsIgnoreCase(exportPdfValue);
|
||||
}
|
||||
return exportPDF;
|
||||
boolean exportPDF = false;
|
||||
if (queryParams.getFirst("exportPDF") != null) {
|
||||
String exportPdfValue = queryParams.getFirst("exportPDF");
|
||||
exportPDF = "true".equalsIgnoreCase(exportPdfValue);
|
||||
}
|
||||
return exportPDF;
|
||||
}
|
||||
|
||||
public static boolean parameterType(final MultivaluedMap<String, String> queryParams) {
|
||||
boolean parameterType = false;
|
||||
if (queryParams.getFirst("parameterType") != null) {
|
||||
@@ -89,7 +89,7 @@ public class ApiParameterHelper {
|
||||
}
|
||||
return template;
|
||||
}
|
||||
|
||||
|
||||
public static boolean makerCheckerable(final MultivaluedMap<String, String> queryParams) {
|
||||
boolean makerCheckerable = false;
|
||||
if (queryParams.getFirst("makerCheckerable") != null) {
|
||||
|
||||
+4
-4
@@ -11,10 +11,6 @@ import org.mifosng.platform.api.data.DocumentData;
|
||||
import org.mifosng.platform.api.data.GroupAccountSummaryCollectionData;
|
||||
import org.mifosng.platform.api.data.GroupData;
|
||||
import org.mifosng.platform.api.data.GuarantorData;
|
||||
import org.mifosng.platform.api.data.LoanAccountData;
|
||||
import org.mifosng.platform.api.data.LoanChargeData;
|
||||
import org.mifosng.platform.api.data.LoanScheduleData;
|
||||
import org.mifosng.platform.api.data.LoanTransactionData;
|
||||
import org.mifosng.platform.api.data.SavingAccountData;
|
||||
import org.mifosng.platform.api.data.SavingProductData;
|
||||
import org.mifosplatform.commands.api.data.CommandSourceData;
|
||||
@@ -38,6 +34,10 @@ import org.mifosplatform.portfolio.client.data.ClientData;
|
||||
import org.mifosplatform.portfolio.client.data.ClientIdentifierData;
|
||||
import org.mifosplatform.portfolio.client.data.NoteData;
|
||||
import org.mifosplatform.portfolio.fund.data.FundData;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanAccountData;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanChargeData;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanScheduleData;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanTransactionData;
|
||||
import org.mifosplatform.portfolio.loanproduct.data.LoanProductData;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
+38
-41
@@ -19,54 +19,51 @@ import com.google.gson.GsonBuilder;
|
||||
@Service
|
||||
public class GoogleGsonSerializerHelper {
|
||||
|
||||
public Gson createGsonBuilder(final boolean prettyPrint) {
|
||||
final GsonBuilder builder = new GsonBuilder();
|
||||
builder.registerTypeAdapter(LocalDate.class, new JodaLocalDateAdapter());
|
||||
builder.registerTypeAdapter(DateTime.class, new JodaDateTimeAdapter());
|
||||
if (prettyPrint) {
|
||||
builder.setPrettyPrinting();
|
||||
}
|
||||
return builder.create();
|
||||
}
|
||||
|
||||
public Gson createGsonBuilderWithParameterExclusionSerializationStrategy(
|
||||
final Set<String> supportedParameters,
|
||||
final boolean prettyPrint,
|
||||
final Set<String> responseParameters) {
|
||||
public Gson createGsonBuilder(final boolean prettyPrint) {
|
||||
final GsonBuilder builder = new GsonBuilder();
|
||||
builder.registerTypeAdapter(LocalDate.class, new JodaLocalDateAdapter());
|
||||
builder.registerTypeAdapter(DateTime.class, new JodaDateTimeAdapter());
|
||||
if (prettyPrint) {
|
||||
builder.setPrettyPrinting();
|
||||
}
|
||||
return builder.create();
|
||||
}
|
||||
|
||||
final Set<String> parameterNamesToSkip = new HashSet<String>();
|
||||
public Gson createGsonBuilderWithParameterExclusionSerializationStrategy(final Set<String> supportedParameters,
|
||||
final boolean prettyPrint, final Set<String> responseParameters) {
|
||||
|
||||
if (!responseParameters.isEmpty()) {
|
||||
final Set<String> parameterNamesToSkip = new HashSet<String>();
|
||||
|
||||
// strip out all known support parameters from expected response to
|
||||
// see if unsupported parameters requested for response.
|
||||
final Set<String> differentParametersDetectedSet = new HashSet<String>(responseParameters);
|
||||
differentParametersDetectedSet.removeAll(supportedParameters);
|
||||
if (!responseParameters.isEmpty()) {
|
||||
|
||||
if (!differentParametersDetectedSet.isEmpty()) {
|
||||
throw new UnsupportedParameterException(new ArrayList<String>(differentParametersDetectedSet));
|
||||
}
|
||||
// strip out all known support parameters from expected response to
|
||||
// see if unsupported parameters requested for response.
|
||||
final Set<String> differentParametersDetectedSet = new HashSet<String>(responseParameters);
|
||||
differentParametersDetectedSet.removeAll(supportedParameters);
|
||||
|
||||
parameterNamesToSkip.addAll(supportedParameters);
|
||||
parameterNamesToSkip.removeAll(responseParameters);
|
||||
}
|
||||
if (!differentParametersDetectedSet.isEmpty()) { throw new UnsupportedParameterException(new ArrayList<String>(
|
||||
differentParametersDetectedSet)); }
|
||||
|
||||
final ExclusionStrategy strategy = new ParameterListExclusionStrategy(parameterNamesToSkip);
|
||||
parameterNamesToSkip.addAll(supportedParameters);
|
||||
parameterNamesToSkip.removeAll(responseParameters);
|
||||
}
|
||||
|
||||
final GsonBuilder builder = new GsonBuilder().addSerializationExclusionStrategy(strategy);
|
||||
builder.registerTypeAdapter(LocalDate.class, new JodaLocalDateAdapter());
|
||||
builder.registerTypeAdapter(DateTime.class, new JodaDateTimeAdapter());
|
||||
if (prettyPrint) {
|
||||
builder.setPrettyPrinting();
|
||||
}
|
||||
return builder.create();
|
||||
}
|
||||
final ExclusionStrategy strategy = new ParameterListExclusionStrategy(parameterNamesToSkip);
|
||||
|
||||
public String serializedJsonFrom(final Gson serializer, final Object[] dataObjects) {
|
||||
return serializer.toJson(dataObjects);
|
||||
}
|
||||
final GsonBuilder builder = new GsonBuilder().addSerializationExclusionStrategy(strategy);
|
||||
builder.registerTypeAdapter(LocalDate.class, new JodaLocalDateAdapter());
|
||||
builder.registerTypeAdapter(DateTime.class, new JodaDateTimeAdapter());
|
||||
if (prettyPrint) {
|
||||
builder.setPrettyPrinting();
|
||||
}
|
||||
return builder.create();
|
||||
}
|
||||
|
||||
public String serializedJsonFrom(final Gson serializer, final Object singleDataObject) {
|
||||
return serializer.toJson(singleDataObject);
|
||||
}
|
||||
public String serializedJsonFrom(final Gson serializer, final Object[] dataObjects) {
|
||||
return serializer.toJson(dataObjects);
|
||||
}
|
||||
|
||||
public String serializedJsonFrom(final Gson serializer, final Object singleDataObject) {
|
||||
return serializer.toJson(singleDataObject);
|
||||
}
|
||||
}
|
||||
+12
-12
@@ -10,20 +10,20 @@ import com.google.gson.JsonSerializationContext;
|
||||
import com.google.gson.JsonSerializer;
|
||||
|
||||
/**
|
||||
* Serializer for joda time {@link DateTime} that returns date as long to match previous functionality.
|
||||
* Serializer for joda time {@link DateTime} that returns date as long to match
|
||||
* previous functionality.
|
||||
*/
|
||||
public class JodaDateTimeAdapter implements JsonSerializer<DateTime> {
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
@Override
|
||||
public JsonElement serialize(DateTime src, Type typeOfSrc, JsonSerializationContext context) {
|
||||
|
||||
JsonElement element = null;
|
||||
if (src != null) {
|
||||
element = new JsonPrimitive(src.getMillis());
|
||||
}
|
||||
|
||||
return element;
|
||||
}
|
||||
@SuppressWarnings("unused")
|
||||
@Override
|
||||
public JsonElement serialize(DateTime src, Type typeOfSrc, JsonSerializationContext context) {
|
||||
|
||||
JsonElement element = null;
|
||||
if (src != null) {
|
||||
element = new JsonPrimitive(src.getMillis());
|
||||
}
|
||||
|
||||
return element;
|
||||
}
|
||||
}
|
||||
|
||||
+16
-16
@@ -11,23 +11,23 @@ import com.google.gson.JsonSerializationContext;
|
||||
import com.google.gson.JsonSerializer;
|
||||
|
||||
/**
|
||||
* Serializer for joda time {@link LocalDate} that returns date in array format to match previous jackson functionality.
|
||||
* Serializer for joda time {@link LocalDate} that returns date in array format
|
||||
* to match previous jackson functionality.
|
||||
*/
|
||||
public class JodaLocalDateAdapter implements JsonSerializer<LocalDate> {
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
@Override
|
||||
public JsonElement serialize(LocalDate src, Type typeOfSrc, JsonSerializationContext context) {
|
||||
|
||||
JsonArray array = null;
|
||||
if (src != null) {
|
||||
array = new JsonArray();
|
||||
array.add(new JsonPrimitive(src.getYearOfEra()));
|
||||
array.add(new JsonPrimitive(src.getMonthOfYear()));
|
||||
array.add(new JsonPrimitive(src.getDayOfMonth()));
|
||||
}
|
||||
|
||||
return array;
|
||||
}
|
||||
@SuppressWarnings("unused")
|
||||
@Override
|
||||
public JsonElement serialize(LocalDate src, Type typeOfSrc, JsonSerializationContext context) {
|
||||
|
||||
}
|
||||
JsonArray array = null;
|
||||
if (src != null) {
|
||||
array = new JsonArray();
|
||||
array.add(new JsonPrimitive(src.getYearOfEra()));
|
||||
array.add(new JsonPrimitive(src.getMonthOfYear()));
|
||||
array.add(new JsonPrimitive(src.getDayOfMonth()));
|
||||
}
|
||||
|
||||
return array;
|
||||
}
|
||||
}
|
||||
+3
-2
@@ -74,7 +74,8 @@ public class JsonParserHelper {
|
||||
return stringValue;
|
||||
}
|
||||
|
||||
public BigDecimal extractBigDecimalWithLocaleNamed(final String parameterName, final JsonElement element, final Set<String> modifiedParameters) {
|
||||
public BigDecimal extractBigDecimalWithLocaleNamed(final String parameterName, final JsonElement element,
|
||||
final Set<String> modifiedParameters) {
|
||||
BigDecimal value = null;
|
||||
if (element.isJsonObject()) {
|
||||
final JsonObject object = element.getAsJsonObject();
|
||||
@@ -157,7 +158,7 @@ public class JsonParserHelper {
|
||||
}
|
||||
return clientApplicationLocale;
|
||||
}
|
||||
|
||||
|
||||
public String[] extractArrayNamed(final String parameterName, final JsonElement element, final Set<String> parametersPassedInRequest) {
|
||||
String[] arrayValue = null;
|
||||
if (element.isJsonObject()) {
|
||||
|
||||
+13
-13
@@ -11,20 +11,20 @@ import com.google.gson.FieldAttributes;
|
||||
// into account the Object its looking at.
|
||||
public class ParameterListExclusionStrategy implements ExclusionStrategy {
|
||||
|
||||
private final Set<String> parameterNamesToSkip;
|
||||
private final Set<String> parameterNamesToSkip;
|
||||
|
||||
public ParameterListExclusionStrategy(final Set<String> parameterNamesToSkip) {
|
||||
this.parameterNamesToSkip = parameterNamesToSkip;
|
||||
}
|
||||
public ParameterListExclusionStrategy(final Set<String> parameterNamesToSkip) {
|
||||
this.parameterNamesToSkip = parameterNamesToSkip;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldSkipField(FieldAttributes f) {
|
||||
return parameterNamesToSkip.contains(f.getName());
|
||||
}
|
||||
@Override
|
||||
public boolean shouldSkipField(FieldAttributes f) {
|
||||
return parameterNamesToSkip.contains(f.getName());
|
||||
}
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
@Override
|
||||
public boolean shouldSkipClass(Class<?> clazz) {
|
||||
return false;
|
||||
}
|
||||
@SuppressWarnings("unused")
|
||||
@Override
|
||||
public boolean shouldSkipClass(Class<?> clazz) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
+6
-6
@@ -1,6 +1,5 @@
|
||||
package org.mifosplatform.infrastructure.core.api;
|
||||
|
||||
import org.mifosng.platform.api.commands.AdjustLoanTransactionCommand;
|
||||
import org.mifosng.platform.api.commands.DepositAccountCommand;
|
||||
import org.mifosng.platform.api.commands.DepositAccountWithdrawInterestCommand;
|
||||
import org.mifosng.platform.api.commands.DepositAccountWithdrawalCommand;
|
||||
@@ -9,10 +8,6 @@ import org.mifosng.platform.api.commands.DepositStateTransitionApprovalCommand;
|
||||
import org.mifosng.platform.api.commands.DepositStateTransitionCommand;
|
||||
import org.mifosng.platform.api.commands.GroupCommand;
|
||||
import org.mifosng.platform.api.commands.GuarantorCommand;
|
||||
import org.mifosng.platform.api.commands.LoanApplicationCommand;
|
||||
import org.mifosng.platform.api.commands.LoanChargeCommand;
|
||||
import org.mifosng.platform.api.commands.LoanStateTransitionCommand;
|
||||
import org.mifosng.platform.api.commands.LoanTransactionCommand;
|
||||
import org.mifosng.platform.api.commands.SavingAccountCommand;
|
||||
import org.mifosng.platform.api.commands.SavingProductCommand;
|
||||
import org.mifosplatform.infrastructure.codes.command.CodeCommand;
|
||||
@@ -31,6 +26,11 @@ import org.mifosplatform.portfolio.client.command.ClientIdentifierCommand;
|
||||
import org.mifosplatform.portfolio.client.command.NoteCommand;
|
||||
import org.mifosplatform.portfolio.client.data.ClientData;
|
||||
import org.mifosplatform.portfolio.fund.command.FundCommand;
|
||||
import org.mifosplatform.portfolio.loanaccount.command.AdjustLoanTransactionCommand;
|
||||
import org.mifosplatform.portfolio.loanaccount.command.LoanApplicationCommand;
|
||||
import org.mifosplatform.portfolio.loanaccount.command.LoanChargeCommand;
|
||||
import org.mifosplatform.portfolio.loanaccount.command.LoanStateTransitionCommand;
|
||||
import org.mifosplatform.portfolio.loanaccount.command.LoanTransactionCommand;
|
||||
import org.mifosplatform.portfolio.loanproduct.command.LoanProductCommand;
|
||||
|
||||
public interface PortfolioApiDataConversionService {
|
||||
@@ -65,7 +65,7 @@ public interface PortfolioApiDataConversionService {
|
||||
|
||||
GroupCommand convertJsonToGroupCommand(Long resourceIdentifier, String json);
|
||||
|
||||
LoanApplicationCommand convertJsonToLoanApplicationCommand(Long resourceIdentifier, String json);
|
||||
LoanApplicationCommand convertApiRequestJsonToLoanApplicationCommand(Long resourceIdentifier, String json);
|
||||
|
||||
LoanChargeCommand convertJsonToLoanChargeCommand(Long loanChargeId, Long loanId, String json);
|
||||
|
||||
|
||||
+69
-59
@@ -17,7 +17,6 @@ import java.util.Set;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.joda.time.LocalDate;
|
||||
import org.joda.time.format.DateTimeFormat;
|
||||
import org.mifosng.platform.api.commands.AdjustLoanTransactionCommand;
|
||||
import org.mifosng.platform.api.commands.DepositAccountCommand;
|
||||
import org.mifosng.platform.api.commands.DepositAccountWithdrawInterestCommand;
|
||||
import org.mifosng.platform.api.commands.DepositAccountWithdrawalCommand;
|
||||
@@ -26,10 +25,6 @@ import org.mifosng.platform.api.commands.DepositStateTransitionApprovalCommand;
|
||||
import org.mifosng.platform.api.commands.DepositStateTransitionCommand;
|
||||
import org.mifosng.platform.api.commands.GroupCommand;
|
||||
import org.mifosng.platform.api.commands.GuarantorCommand;
|
||||
import org.mifosng.platform.api.commands.LoanApplicationCommand;
|
||||
import org.mifosng.platform.api.commands.LoanChargeCommand;
|
||||
import org.mifosng.platform.api.commands.LoanStateTransitionCommand;
|
||||
import org.mifosng.platform.api.commands.LoanTransactionCommand;
|
||||
import org.mifosng.platform.api.commands.SavingAccountCommand;
|
||||
import org.mifosng.platform.api.commands.SavingProductCommand;
|
||||
import org.mifosplatform.infrastructure.codes.command.CodeCommand;
|
||||
@@ -52,6 +47,11 @@ import org.mifosplatform.portfolio.client.command.ClientIdentifierCommand;
|
||||
import org.mifosplatform.portfolio.client.command.NoteCommand;
|
||||
import org.mifosplatform.portfolio.client.data.ClientData;
|
||||
import org.mifosplatform.portfolio.fund.command.FundCommand;
|
||||
import org.mifosplatform.portfolio.loanaccount.command.AdjustLoanTransactionCommand;
|
||||
import org.mifosplatform.portfolio.loanaccount.command.LoanApplicationCommand;
|
||||
import org.mifosplatform.portfolio.loanaccount.command.LoanChargeCommand;
|
||||
import org.mifosplatform.portfolio.loanaccount.command.LoanStateTransitionCommand;
|
||||
import org.mifosplatform.portfolio.loanaccount.command.LoanTransactionCommand;
|
||||
import org.mifosplatform.portfolio.loanproduct.command.LoanProductCommand;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.format.number.NumberFormatter;
|
||||
@@ -102,7 +102,7 @@ public class PortfolioApiDataConversionServiceImpl implements PortfolioApiDataCo
|
||||
"active"));
|
||||
|
||||
checkForUnsupportedParameters(requestMap, supportedParams);
|
||||
|
||||
|
||||
final JsonParserHelper helper = new JsonParserHelper();
|
||||
JsonParser parser = new JsonParser();
|
||||
final JsonElement element = parser.parse(json);
|
||||
@@ -112,16 +112,17 @@ public class PortfolioApiDataConversionServiceImpl implements PortfolioApiDataCo
|
||||
final String name = helper.extractStringNamed("name", element, parametersPassedInRequest);
|
||||
final String currencyCode = helper.extractStringNamed("currencyCode", element, parametersPassedInRequest);
|
||||
final BigDecimal amount = helper.extractBigDecimalWithLocaleNamed("amount", element.getAsJsonObject(), parametersPassedInRequest);
|
||||
|
||||
|
||||
final Integer chargeTimeType = helper.extractIntegerWithLocaleNamed("chargeTimeType", element, parametersPassedInRequest);
|
||||
final Integer chargeAppliesTo = helper.extractIntegerWithLocaleNamed("chargeAppliesTo", element, parametersPassedInRequest);
|
||||
final Integer chargeCalculationType = helper.extractIntegerWithLocaleNamed("chargeCalculationType", element, parametersPassedInRequest);
|
||||
|
||||
final Integer chargeCalculationType = helper.extractIntegerWithLocaleNamed("chargeCalculationType", element,
|
||||
parametersPassedInRequest);
|
||||
|
||||
final Boolean penalty = helper.extractBooleanNamed("penalty", element, parametersPassedInRequest);
|
||||
final Boolean active = helper.extractBooleanNamed("active", element, parametersPassedInRequest);
|
||||
|
||||
return new ChargeDefinitionCommand(parametersPassedInRequest, false, resourceIdentifier, name, amount, currencyCode, chargeTimeType, chargeAppliesTo,
|
||||
chargeCalculationType, penalty, active);
|
||||
|
||||
return new ChargeDefinitionCommand(parametersPassedInRequest, false, resourceIdentifier, name, amount, currencyCode,
|
||||
chargeTimeType, chargeAppliesTo, chargeCalculationType, penalty, active);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -548,7 +549,8 @@ public class PortfolioApiDataConversionServiceImpl implements PortfolioApiDataCo
|
||||
|
||||
final BigDecimal principal = helper.extractBigDecimalWithLocaleNamed("principal", element, modifiedParameters);
|
||||
final BigDecimal inArrearsTolerance = helper.extractBigDecimalWithLocaleNamed("inArrearsTolerance", element, modifiedParameters);
|
||||
final BigDecimal interestRatePerPeriod = helper.extractBigDecimalWithLocaleNamed("interestRatePerPeriod", element, modifiedParameters);
|
||||
final BigDecimal interestRatePerPeriod = helper.extractBigDecimalWithLocaleNamed("interestRatePerPeriod", element,
|
||||
modifiedParameters);
|
||||
final Integer repaymentEvery = helper.extractIntegerWithLocaleNamed("repaymentEvery", element, modifiedParameters);
|
||||
final Integer numberOfRepayments = helper.extractIntegerWithLocaleNamed("numberOfRepayments", element, modifiedParameters);
|
||||
final Integer repaymentFrequencyType = helper.extractIntegerWithLocaleNamed("repaymentFrequencyType", element, modifiedParameters);
|
||||
@@ -561,7 +563,8 @@ public class PortfolioApiDataConversionServiceImpl implements PortfolioApiDataCo
|
||||
// final Integer loanTermFrequencyType =
|
||||
// helper.extractIntegerNamed("loanTermFrequencyType", element,
|
||||
// modifiedParameters);
|
||||
final Integer interestRateFrequencyType = helper.extractIntegerWithLocaleNamed("interestRateFrequencyType", element, modifiedParameters);
|
||||
final Integer interestRateFrequencyType = helper.extractIntegerWithLocaleNamed("interestRateFrequencyType", element,
|
||||
modifiedParameters);
|
||||
final Integer amortizationType = helper.extractIntegerWithLocaleNamed("amortizationType", element, modifiedParameters);
|
||||
final Integer interestType = helper.extractIntegerWithLocaleNamed("interestType", element, modifiedParameters);
|
||||
final Integer interestCalculationPeriodType = helper.extractIntegerWithLocaleNamed("interestCalculationPeriodType", element,
|
||||
@@ -580,13 +583,14 @@ public class PortfolioApiDataConversionServiceImpl implements PortfolioApiDataCo
|
||||
}
|
||||
}
|
||||
|
||||
return new LoanProductCommand(modifiedParameters, false, resourceIdentifier, name, description, fundId, transactionProcessingStrategyId,
|
||||
currencyCode, digitsAfterDecimal, principal, inArrearsTolerance, numberOfRepayments, repaymentEvery, interestRatePerPeriod,
|
||||
repaymentFrequencyType, interestRateFrequencyType, amortizationType, interestType, interestCalculationPeriodType, charges);
|
||||
return new LoanProductCommand(modifiedParameters, false, resourceIdentifier, name, description, fundId,
|
||||
transactionProcessingStrategyId, currencyCode, digitsAfterDecimal, principal, inArrearsTolerance, numberOfRepayments,
|
||||
repaymentEvery, interestRatePerPeriod, repaymentFrequencyType, interestRateFrequencyType, amortizationType, interestType,
|
||||
interestCalculationPeriodType, charges);
|
||||
}
|
||||
|
||||
@Override
|
||||
public LoanApplicationCommand convertJsonToLoanApplicationCommand(final Long resourceIdentifier, final String json) {
|
||||
public LoanApplicationCommand convertApiRequestJsonToLoanApplicationCommand(final Long resourceIdentifier, final String json) {
|
||||
|
||||
if (StringUtils.isBlank(json)) { throw new InvalidJsonException(); }
|
||||
|
||||
@@ -617,14 +621,18 @@ public class PortfolioApiDataConversionServiceImpl implements PortfolioApiDataCo
|
||||
parametersPassedInCommand);
|
||||
final String externalId = helper.extractStringNamed("externalId", element, parametersPassedInCommand);
|
||||
final BigDecimal principal = helper.extractBigDecimalWithLocaleNamed("principal", element, parametersPassedInCommand);
|
||||
final BigDecimal inArrearsToleranceValue = helper.extractBigDecimalWithLocaleNamed("inArrearsTolerance", element, parametersPassedInCommand);
|
||||
final BigDecimal interestRatePerPeriod = helper.extractBigDecimalWithLocaleNamed("interestRatePerPeriod", element, parametersPassedInCommand);
|
||||
final BigDecimal inArrearsToleranceValue = helper.extractBigDecimalWithLocaleNamed("inArrearsTolerance", element,
|
||||
parametersPassedInCommand);
|
||||
final BigDecimal interestRatePerPeriod = helper.extractBigDecimalWithLocaleNamed("interestRatePerPeriod", element,
|
||||
parametersPassedInCommand);
|
||||
|
||||
final Integer repaymentEvery = helper.extractIntegerWithLocaleNamed("repaymentEvery", element, parametersPassedInCommand);
|
||||
final Integer numberOfRepayments = helper.extractIntegerWithLocaleNamed("numberOfRepayments", element, parametersPassedInCommand);
|
||||
final Integer repaymentFrequencyType = helper.extractIntegerWithLocaleNamed("repaymentFrequencyType", element, parametersPassedInCommand);
|
||||
final Integer repaymentFrequencyType = helper.extractIntegerWithLocaleNamed("repaymentFrequencyType", element,
|
||||
parametersPassedInCommand);
|
||||
final Integer loanTermFrequency = helper.extractIntegerWithLocaleNamed("loanTermFrequency", element, parametersPassedInCommand);
|
||||
final Integer loanTermFrequencyType = helper.extractIntegerWithLocaleNamed("loanTermFrequencyType", element, parametersPassedInCommand);
|
||||
final Integer loanTermFrequencyType = helper.extractIntegerWithLocaleNamed("loanTermFrequencyType", element,
|
||||
parametersPassedInCommand);
|
||||
final Integer interestRateFrequencyType = helper.extractIntegerWithLocaleNamed("interestRateFrequencyType", element,
|
||||
parametersPassedInCommand);
|
||||
final Integer amortizationType = helper.extractIntegerWithLocaleNamed("amortizationType", element, parametersPassedInCommand);
|
||||
@@ -1057,9 +1065,9 @@ public class PortfolioApiDataConversionServiceImpl implements PortfolioApiDataCo
|
||||
/*
|
||||
* private LocalDate convertFrom(final String dateAsString, final String
|
||||
* parameterName, final String dateFormat) {
|
||||
*
|
||||
*
|
||||
* if (StringUtils.isBlank(dateFormat)) {
|
||||
*
|
||||
*
|
||||
* List<ApiParameterError> dataValidationErrors = new
|
||||
* ArrayList<ApiParameterError>(); String defaultMessage = new
|
||||
* StringBuilder("The parameter '" + parameterName +
|
||||
@@ -1067,11 +1075,11 @@ public class PortfolioApiDataConversionServiceImpl implements PortfolioApiDataCo
|
||||
* ApiParameterError error = ApiParameterError.parameterError(
|
||||
* "validation.msg.missing.dateFormat.parameter", defaultMessage,
|
||||
* parameterName); dataValidationErrors.add(error);
|
||||
*
|
||||
*
|
||||
* throw new PlatformApiDataValidationException(
|
||||
* "validation.msg.validation.errors.exist", "Validation errors exist.",
|
||||
* dataValidationErrors); }
|
||||
*
|
||||
*
|
||||
* LocalDate eventLocalDate = null; if
|
||||
* (StringUtils.isNotBlank(dateAsString)) { try { Locale locale =
|
||||
* LocaleContextHolder.getLocale(); eventLocalDate =
|
||||
@@ -1084,18 +1092,18 @@ public class PortfolioApiDataConversionServiceImpl implements PortfolioApiDataCo
|
||||
* " is invalid based on the dateFormat provided:" + dateFormat,
|
||||
* parameterName, dateAsString, dateFormat);
|
||||
* dataValidationErrors.add(error);
|
||||
*
|
||||
*
|
||||
* throw new PlatformApiDataValidationException(
|
||||
* "validation.msg.validation.errors.exist", "Validation errors exist.",
|
||||
* dataValidationErrors); } }
|
||||
*
|
||||
*
|
||||
* return eventLocalDate; }
|
||||
*
|
||||
*
|
||||
* private Integer convertToInteger(final String numericalValueFormatted,
|
||||
* final String parameterName, final Locale clientApplicationLocale) {
|
||||
*
|
||||
*
|
||||
* if (clientApplicationLocale == null) {
|
||||
*
|
||||
*
|
||||
* List<ApiParameterError> dataValidationErrors = new
|
||||
* ArrayList<ApiParameterError>(); String defaultMessage = new
|
||||
* StringBuilder("The parameter '" + parameterName +
|
||||
@@ -1103,41 +1111,41 @@ public class PortfolioApiDataConversionServiceImpl implements PortfolioApiDataCo
|
||||
* ApiParameterError error =
|
||||
* ApiParameterError.parameterError("validation.msg.missing.locale.parameter"
|
||||
* , defaultMessage, parameterName); dataValidationErrors.add(error);
|
||||
*
|
||||
*
|
||||
* throw new PlatformApiDataValidationException(
|
||||
* "validation.msg.validation.errors.exist", "Validation errors exist.",
|
||||
* dataValidationErrors); }
|
||||
*
|
||||
*
|
||||
* try { Integer number = null;
|
||||
*
|
||||
*
|
||||
* if (StringUtils.isNotBlank(numericalValueFormatted)) {
|
||||
*
|
||||
*
|
||||
* String source = numericalValueFormatted.trim();
|
||||
*
|
||||
*
|
||||
* NumberFormat format = NumberFormat.getInstance(clientApplicationLocale);
|
||||
* DecimalFormat df = (DecimalFormat) format; DecimalFormatSymbols symbols =
|
||||
* df.getDecimalFormatSymbols(); df.setParseBigDecimal(true);
|
||||
*
|
||||
*
|
||||
* // http://bugs.sun.com/view_bug.do?bug_id=4510618 char groupingSeparator
|
||||
* = symbols.getGroupingSeparator(); if (groupingSeparator == '\u00a0') {
|
||||
* source = source.replaceAll(" ", Character.toString('\u00a0')); }
|
||||
*
|
||||
*
|
||||
* Number parsedNumber = df.parse(source);
|
||||
*
|
||||
*
|
||||
* double parsedNumberDouble = parsedNumber.doubleValue(); int
|
||||
* parsedNumberInteger = parsedNumber.intValue();
|
||||
*
|
||||
*
|
||||
* if (source.contains(Character.toString(symbols.getDecimalSeparator()))) {
|
||||
* throw new ParseException(source, 0); }
|
||||
*
|
||||
*
|
||||
* if
|
||||
* (!Double.valueOf(parsedNumberDouble).equals(Double.valueOf(Integer.valueOf
|
||||
* (parsedNumberInteger)))) { throw new ParseException(source, 0); }
|
||||
*
|
||||
*
|
||||
* number = parsedNumber.intValue(); }
|
||||
*
|
||||
*
|
||||
* return number; } catch (ParseException e) {
|
||||
*
|
||||
*
|
||||
* List<ApiParameterError> dataValidationErrors = new
|
||||
* ArrayList<ApiParameterError>(); ApiParameterError error =
|
||||
* ApiParameterError.parameterError(
|
||||
@@ -1147,16 +1155,16 @@ public class PortfolioApiDataConversionServiceImpl implements PortfolioApiDataCo
|
||||
* clientApplicationLocale.toString() + "].", parameterName,
|
||||
* numericalValueFormatted, clientApplicationLocale);
|
||||
* dataValidationErrors.add(error);
|
||||
*
|
||||
*
|
||||
* throw new PlatformApiDataValidationException(
|
||||
* "validation.msg.validation.errors.exist", "Validation errors exist.",
|
||||
* dataValidationErrors); } }
|
||||
*
|
||||
*
|
||||
* private BigDecimal convertFrom(final String numericalValueFormatted,
|
||||
* final String parameterName, final Locale clientApplicationLocale) {
|
||||
*
|
||||
*
|
||||
* if (clientApplicationLocale == null) {
|
||||
*
|
||||
*
|
||||
* List<ApiParameterError> dataValidationErrors = new
|
||||
* ArrayList<ApiParameterError>(); String defaultMessage = new
|
||||
* StringBuilder("The parameter '" + parameterName +
|
||||
@@ -1164,17 +1172,17 @@ public class PortfolioApiDataConversionServiceImpl implements PortfolioApiDataCo
|
||||
* ApiParameterError error =
|
||||
* ApiParameterError.parameterError("validation.msg.missing.locale.parameter"
|
||||
* , defaultMessage, parameterName); dataValidationErrors.add(error);
|
||||
*
|
||||
*
|
||||
* throw new PlatformApiDataValidationException(
|
||||
* "validation.msg.validation.errors.exist", "Validation errors exist.",
|
||||
* dataValidationErrors); }
|
||||
*
|
||||
*
|
||||
* try { BigDecimal number = null;
|
||||
*
|
||||
*
|
||||
* if (StringUtils.isNotBlank(numericalValueFormatted)) {
|
||||
*
|
||||
*
|
||||
* String source = numericalValueFormatted.trim();
|
||||
*
|
||||
*
|
||||
* NumberFormat format =
|
||||
* NumberFormat.getNumberInstance(clientApplicationLocale); DecimalFormat df
|
||||
* = (DecimalFormat) format; DecimalFormatSymbols symbols =
|
||||
@@ -1182,14 +1190,14 @@ public class PortfolioApiDataConversionServiceImpl implements PortfolioApiDataCo
|
||||
* http://bugs.sun.com/view_bug.do?bug_id=4510618 char groupingSeparator =
|
||||
* symbols.getGroupingSeparator(); if (groupingSeparator == '\u00a0') {
|
||||
* source = source.replaceAll(" ", Character.toString('\u00a0')); }
|
||||
*
|
||||
*
|
||||
* NumberFormatter numberFormatter = new NumberFormatter(); Number
|
||||
* parsedNumber = numberFormatter.parse(source, clientApplicationLocale);
|
||||
* number = BigDecimal.valueOf(Double.valueOf(parsedNumber.doubleValue()));
|
||||
* }
|
||||
*
|
||||
*
|
||||
* return number; } catch (ParseException e) {
|
||||
*
|
||||
*
|
||||
* List<ApiParameterError> dataValidationErrors = new
|
||||
* ArrayList<ApiParameterError>(); ApiParameterError error =
|
||||
* ApiParameterError.parameterError(
|
||||
@@ -1199,7 +1207,7 @@ public class PortfolioApiDataConversionServiceImpl implements PortfolioApiDataCo
|
||||
* clientApplicationLocale.toString() + "].", parameterName,
|
||||
* numericalValueFormatted, clientApplicationLocale);
|
||||
* dataValidationErrors.add(error);
|
||||
*
|
||||
*
|
||||
* throw new PlatformApiDataValidationException(
|
||||
* "validation.msg.validation.errors.exist", "Validation errors exist.",
|
||||
* dataValidationErrors); } }
|
||||
@@ -1493,7 +1501,8 @@ public class PortfolioApiDataConversionServiceImpl implements PortfolioApiDataCo
|
||||
}
|
||||
|
||||
@Override
|
||||
public ClientIdentifierCommand convertApiRequestJsonToClientIdentifierCommand(final Long resourceIdentifier, final Long clientId, final String json) {
|
||||
public ClientIdentifierCommand convertApiRequestJsonToClientIdentifierCommand(final Long resourceIdentifier, final Long clientId,
|
||||
final String json) {
|
||||
if (StringUtils.isBlank(json)) { throw new InvalidJsonException(); }
|
||||
|
||||
Type typeOfMap = new TypeToken<Map<String, String>>() {}.getType();
|
||||
@@ -1517,7 +1526,8 @@ public class PortfolioApiDataConversionServiceImpl implements PortfolioApiDataCo
|
||||
|
||||
checkForUnsupportedParameters(requestMap, supportedParams);
|
||||
|
||||
// no difference between api request json format and internal command json format.
|
||||
// no difference between api request json format and internal command
|
||||
// json format.
|
||||
return this.portfolioCommandDeserializerService.deserializeCodeCommand(resourceIdentifier, json, false);
|
||||
}
|
||||
|
||||
|
||||
+4
-4
@@ -9,10 +9,6 @@ import org.mifosng.platform.api.data.DocumentData;
|
||||
import org.mifosng.platform.api.data.GroupAccountSummaryCollectionData;
|
||||
import org.mifosng.platform.api.data.GroupData;
|
||||
import org.mifosng.platform.api.data.GuarantorData;
|
||||
import org.mifosng.platform.api.data.LoanAccountData;
|
||||
import org.mifosng.platform.api.data.LoanChargeData;
|
||||
import org.mifosng.platform.api.data.LoanScheduleData;
|
||||
import org.mifosng.platform.api.data.LoanTransactionData;
|
||||
import org.mifosng.platform.api.data.SavingAccountData;
|
||||
import org.mifosng.platform.api.data.SavingProductData;
|
||||
import org.mifosplatform.commands.api.data.CommandSourceData;
|
||||
@@ -36,6 +32,10 @@ import org.mifosplatform.portfolio.client.data.ClientData;
|
||||
import org.mifosplatform.portfolio.client.data.ClientIdentifierData;
|
||||
import org.mifosplatform.portfolio.client.data.NoteData;
|
||||
import org.mifosplatform.portfolio.fund.data.FundData;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanAccountData;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanChargeData;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanScheduleData;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanTransactionData;
|
||||
import org.mifosplatform.portfolio.loanproduct.data.LoanProductData;
|
||||
|
||||
public interface PortfolioApiJsonSerializerService {
|
||||
|
||||
+3
-2
@@ -32,7 +32,7 @@ public interface PortfolioCommandDeserializerService {
|
||||
RolePermissionCommand deserializeRolePermissionCommand(Long roleId, String commandAsJson, boolean makerCheckerApproval);
|
||||
|
||||
PermissionsCommand deserializePermissionsCommand(String commandAsJson, boolean makerCheckerApproval);
|
||||
|
||||
|
||||
UserCommand deserializeUserCommand(Long userId, String commandAsJson, boolean makerCheckerApproval);
|
||||
|
||||
CodeCommand deserializeCodeCommand(Long codeId, String commandAsJson, boolean makerCheckerApproval);
|
||||
@@ -53,5 +53,6 @@ public interface PortfolioCommandDeserializerService {
|
||||
|
||||
LoanProductCommand deserializeLoanProductCommand(Long loanProductId, String commandAsJson, boolean makerCheckerApproval);
|
||||
|
||||
ClientIdentifierCommand deserializeClientIdentifierCommand(Long clientIdentifierId, Long clientId, String commandAsJson, boolean makerCheckerApproval);
|
||||
ClientIdentifierCommand deserializeClientIdentifierCommand(Long clientIdentifierId, Long clientId, String commandAsJson,
|
||||
boolean makerCheckerApproval);
|
||||
}
|
||||
+1
-1
@@ -2,8 +2,8 @@ package org.mifosplatform.portfolio.charge.service;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import org.mifosng.platform.api.data.LoanChargeData;
|
||||
import org.mifosplatform.portfolio.charge.data.ChargeData;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanChargeData;
|
||||
|
||||
// FIXME - KW - break out methods that belong to product charges and loan charges
|
||||
public interface ChargeReadPlatformService {
|
||||
|
||||
+1
-1
@@ -7,7 +7,6 @@ import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
import org.joda.time.LocalDate;
|
||||
import org.mifosng.platform.api.data.LoanChargeData;
|
||||
import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
|
||||
import org.mifosplatform.infrastructure.configuration.service.CurrencyReadPlatformService;
|
||||
import org.mifosplatform.infrastructure.core.data.EnumOptionData;
|
||||
@@ -17,6 +16,7 @@ import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext
|
||||
import org.mifosplatform.portfolio.charge.data.ChargeData;
|
||||
import org.mifosplatform.portfolio.charge.domain.ChargeAppliesTo;
|
||||
import org.mifosplatform.portfolio.charge.exception.ChargeNotFoundException;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanChargeData;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.dao.EmptyResultDataAccessException;
|
||||
import org.springframework.jdbc.core.JdbcTemplate;
|
||||
|
||||
@@ -6,11 +6,11 @@ import javax.persistence.JoinColumn;
|
||||
import javax.persistence.ManyToOne;
|
||||
import javax.persistence.Table;
|
||||
|
||||
import org.mifosng.platform.loan.domain.Loan;
|
||||
import org.mifosng.platform.loan.domain.LoanTransaction;
|
||||
import org.mifosng.platform.saving.domain.DepositAccount;
|
||||
import org.mifosplatform.infrastructure.core.domain.AbstractAuditableCustom;
|
||||
import org.mifosplatform.infrastructure.user.domain.AppUser;
|
||||
import org.mifosplatform.portfolio.loanaccount.domain.Loan;
|
||||
import org.mifosplatform.portfolio.loanaccount.domain.LoanTransaction;
|
||||
|
||||
@Entity
|
||||
@Table(name = "m_note")
|
||||
|
||||
+93
-72
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.api;
|
||||
package org.mifosplatform.portfolio.loanaccount.api;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
@@ -20,30 +20,15 @@ import javax.ws.rs.core.UriInfo;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.joda.time.LocalDate;
|
||||
import org.mifosng.platform.api.commands.AdjustLoanTransactionCommand;
|
||||
import org.mifosng.platform.api.commands.CalculateLoanScheduleCommand;
|
||||
import org.mifosng.platform.api.commands.LoanApplicationCommand;
|
||||
import org.mifosng.platform.api.commands.LoanChargeCommand;
|
||||
import org.mifosng.platform.api.commands.LoanStateTransitionCommand;
|
||||
import org.mifosng.platform.api.commands.LoanTransactionCommand;
|
||||
import org.mifosng.platform.api.commands.UndoStateTransitionCommand;
|
||||
import org.mifosng.platform.api.data.DisbursementData;
|
||||
import org.mifosng.platform.api.data.GuarantorData;
|
||||
import org.mifosng.platform.api.data.LoanAccountData;
|
||||
import org.mifosng.platform.api.data.LoanBasicDetailsData;
|
||||
import org.mifosng.platform.api.data.LoanChargeData;
|
||||
import org.mifosng.platform.api.data.LoanPermissionData;
|
||||
import org.mifosng.platform.api.data.LoanScheduleData;
|
||||
import org.mifosng.platform.api.data.LoanTransactionData;
|
||||
import org.mifosng.platform.guarantor.GuarantorReadPlatformService;
|
||||
import org.mifosng.platform.loan.service.CalculationPlatformService;
|
||||
import org.mifosng.platform.loan.service.LoanReadPlatformService;
|
||||
import org.mifosng.platform.loan.service.LoanWritePlatformService;
|
||||
import org.mifosplatform.commands.service.PortfolioCommandSourceWritePlatformService;
|
||||
import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
|
||||
import org.mifosplatform.infrastructure.configuration.domain.Money;
|
||||
import org.mifosplatform.infrastructure.core.api.ApiParameterHelper;
|
||||
import org.mifosplatform.infrastructure.core.api.PortfolioApiDataConversionService;
|
||||
import org.mifosplatform.infrastructure.core.api.PortfolioApiJsonSerializerService;
|
||||
import org.mifosplatform.infrastructure.core.api.PortfolioCommandSerializerService;
|
||||
import org.mifosplatform.infrastructure.core.data.EntityIdentifier;
|
||||
import org.mifosplatform.infrastructure.core.data.EnumOptionData;
|
||||
import org.mifosplatform.infrastructure.core.exception.UnrecognizedQueryParamException;
|
||||
@@ -59,6 +44,23 @@ import org.mifosplatform.portfolio.charge.data.ChargeData;
|
||||
import org.mifosplatform.portfolio.charge.service.ChargeReadPlatformService;
|
||||
import org.mifosplatform.portfolio.fund.data.FundData;
|
||||
import org.mifosplatform.portfolio.fund.service.FundReadPlatformService;
|
||||
import org.mifosplatform.portfolio.loanaccount.command.AdjustLoanTransactionCommand;
|
||||
import org.mifosplatform.portfolio.loanaccount.command.LoanApplicationCommand;
|
||||
import org.mifosplatform.portfolio.loanaccount.command.LoanChargeCommand;
|
||||
import org.mifosplatform.portfolio.loanaccount.command.LoanStateTransitionCommand;
|
||||
import org.mifosplatform.portfolio.loanaccount.command.LoanTransactionCommand;
|
||||
import org.mifosplatform.portfolio.loanaccount.command.UndoStateTransitionCommand;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.DisbursementData;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanAccountData;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanBasicDetailsData;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanChargeData;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanPermissionData;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanScheduleData;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanTransactionData;
|
||||
import org.mifosplatform.portfolio.loanaccount.loanschedule.command.CalculateLoanScheduleCommand;
|
||||
import org.mifosplatform.portfolio.loanaccount.service.CalculationPlatformService;
|
||||
import org.mifosplatform.portfolio.loanaccount.service.LoanReadPlatformService;
|
||||
import org.mifosplatform.portfolio.loanaccount.service.LoanWritePlatformService;
|
||||
import org.mifosplatform.portfolio.loanproduct.data.LoanProductData;
|
||||
import org.mifosplatform.portfolio.loanproduct.data.TransactionProcessingStrategyData;
|
||||
import org.mifosplatform.portfolio.loanproduct.service.LoanDropdownReadPlatformService;
|
||||
@@ -73,44 +75,51 @@ import org.springframework.util.CollectionUtils;
|
||||
@Scope("singleton")
|
||||
public class LoansApiResource {
|
||||
|
||||
@Autowired
|
||||
private LoanReadPlatformService loanReadPlatformService;
|
||||
// private final String resourceNameForPermissions = "OFFICE";
|
||||
|
||||
private final PlatformSecurityContext context;
|
||||
private final LoanReadPlatformService loanReadPlatformService;
|
||||
private final LoanWritePlatformService loanWritePlatformService;
|
||||
private final LoanProductReadPlatformService loanProductReadPlatformService;
|
||||
private final LoanDropdownReadPlatformService dropdownReadPlatformService;
|
||||
private final FundReadPlatformService fundReadPlatformService;
|
||||
private final ChargeReadPlatformService chargeReadPlatformService;
|
||||
private final CalculationPlatformService calculationPlatformService;
|
||||
private final StaffReadPlatformService staffReadPlatformService;
|
||||
private final OfficeReadPlatformService officeReadPlatformService;
|
||||
private final GuarantorReadPlatformService guarantorReadPlatformService;
|
||||
private final PortfolioApiJsonSerializerService apiJsonSerializerService;
|
||||
private final PortfolioApiDataConversionService apiDataConversionService;
|
||||
private final PortfolioCommandSerializerService commandSerializerService;
|
||||
private final PortfolioCommandSourceWritePlatformService commandsSourceWritePlatformService;
|
||||
|
||||
@Autowired
|
||||
private LoanWritePlatformService loanWritePlatformService;
|
||||
|
||||
@Autowired
|
||||
private LoanProductReadPlatformService loanProductReadPlatformService;
|
||||
|
||||
@Autowired
|
||||
private LoanDropdownReadPlatformService dropdownReadPlatformService;
|
||||
|
||||
@Autowired
|
||||
private FundReadPlatformService fundReadPlatformService;
|
||||
|
||||
@Autowired
|
||||
private ChargeReadPlatformService chargeReadPlatformService;
|
||||
|
||||
@Autowired
|
||||
private CalculationPlatformService calculationPlatformService;
|
||||
|
||||
@Autowired
|
||||
private PortfolioApiDataConversionService apiDataConversionService;
|
||||
|
||||
@Autowired
|
||||
private PortfolioApiJsonSerializerService apiJsonSerializerService;
|
||||
|
||||
@Autowired
|
||||
private StaffReadPlatformService staffReadPlatformService;
|
||||
|
||||
@Autowired
|
||||
private OfficeReadPlatformService officeReadPlatformService;
|
||||
|
||||
@Autowired
|
||||
private PlatformSecurityContext context;
|
||||
|
||||
@Autowired
|
||||
private GuarantorReadPlatformService guarantorReadPlatformService;
|
||||
public LoansApiResource(final PlatformSecurityContext context, final LoanReadPlatformService loanReadPlatformService,
|
||||
final LoanWritePlatformService loanWritePlatformService, final LoanProductReadPlatformService loanProductReadPlatformService,
|
||||
final LoanDropdownReadPlatformService dropdownReadPlatformService, final FundReadPlatformService fundReadPlatformService,
|
||||
final ChargeReadPlatformService chargeReadPlatformService, final CalculationPlatformService calculationPlatformService,
|
||||
final StaffReadPlatformService staffReadPlatformService, final OfficeReadPlatformService officeReadPlatformService,
|
||||
final GuarantorReadPlatformService guarantorReadPlatformService,
|
||||
final PortfolioApiJsonSerializerService apiJsonSerializerService,
|
||||
final PortfolioApiDataConversionService apiDataConversionService,
|
||||
final PortfolioCommandSerializerService commandSerializerService,
|
||||
final PortfolioCommandSourceWritePlatformService commandsSourceWritePlatformService) {
|
||||
this.context = context;
|
||||
this.loanReadPlatformService = loanReadPlatformService;
|
||||
this.loanWritePlatformService = loanWritePlatformService;
|
||||
this.loanProductReadPlatformService = loanProductReadPlatformService;
|
||||
this.dropdownReadPlatformService = dropdownReadPlatformService;
|
||||
this.fundReadPlatformService = fundReadPlatformService;
|
||||
this.chargeReadPlatformService = chargeReadPlatformService;
|
||||
this.calculationPlatformService = calculationPlatformService;
|
||||
this.staffReadPlatformService = staffReadPlatformService;
|
||||
this.officeReadPlatformService = officeReadPlatformService;
|
||||
this.guarantorReadPlatformService = guarantorReadPlatformService;
|
||||
this.apiJsonSerializerService = apiJsonSerializerService;
|
||||
this.apiDataConversionService = apiDataConversionService;
|
||||
this.commandSerializerService = commandSerializerService;
|
||||
this.commandsSourceWritePlatformService = commandsSourceWritePlatformService;
|
||||
}
|
||||
|
||||
@GET
|
||||
@Path("template")
|
||||
@@ -304,7 +313,8 @@ public class LoansApiResource {
|
||||
public String calculateLoanScheduleOrSubmitLoanApplication(@QueryParam("command") final String commandParam,
|
||||
@Context final UriInfo uriInfo, final String jsonRequestBody) {
|
||||
|
||||
final LoanApplicationCommand command = this.apiDataConversionService.convertJsonToLoanApplicationCommand(null, jsonRequestBody);
|
||||
final LoanApplicationCommand command = this.apiDataConversionService.convertApiRequestJsonToLoanApplicationCommand(null,
|
||||
jsonRequestBody);
|
||||
|
||||
if (is(commandParam, "calculateLoanSchedule")) {
|
||||
CalculateLoanScheduleCommand calculateLoanScheduleCommand = command.toCalculateLoanScheduleCommand();
|
||||
@@ -332,7 +342,8 @@ public class LoansApiResource {
|
||||
@Produces({ MediaType.APPLICATION_JSON })
|
||||
public String modifyLoanApplication(@PathParam("loanId") final Long loanId, final String jsonRequestBody) {
|
||||
|
||||
final LoanApplicationCommand command = this.apiDataConversionService.convertJsonToLoanApplicationCommand(loanId, jsonRequestBody);
|
||||
final LoanApplicationCommand command = this.apiDataConversionService.convertApiRequestJsonToLoanApplicationCommand(loanId,
|
||||
jsonRequestBody);
|
||||
|
||||
final EntityIdentifier identifier = this.loanWritePlatformService.modifyLoanApplication(command);
|
||||
|
||||
@@ -582,7 +593,8 @@ public class LoansApiResource {
|
||||
@Produces({ MediaType.APPLICATION_JSON })
|
||||
public Response assignLoanOfficer(@PathParam("loanId") final Long loanId, final String jsonRequestBody) {
|
||||
|
||||
final BulkTransferLoanOfficerCommand command = this.apiDataConversionService.convertJsonToLoanReassignmentCommand(loanId, jsonRequestBody);
|
||||
final BulkTransferLoanOfficerCommand command = this.apiDataConversionService.convertJsonToLoanReassignmentCommand(loanId,
|
||||
jsonRequestBody);
|
||||
|
||||
EntityIdentifier identifier = this.loanWritePlatformService.loanReassignment(command);
|
||||
|
||||
@@ -601,33 +613,42 @@ public class LoansApiResource {
|
||||
|
||||
final LoanBasicDetailsData loanBasicDetails = this.loanReadPlatformService.retrieveLoanAccountDetails(loanId);
|
||||
|
||||
final Collection<StaffData> allowedLoanOfficers = this.staffReadPlatformService.retrieveAllLoanOfficersByOffice(loanBasicDetails.getOfficeId());
|
||||
final Collection<StaffData> allowedLoanOfficers = this.staffReadPlatformService.retrieveAllLoanOfficersByOffice(loanBasicDetails
|
||||
.getOfficeId());
|
||||
final Long fromLoanOfficerId = loanBasicDetails.getLoanOfficerId();
|
||||
|
||||
final BulkTransferLoanOfficerData loanReassignmentData = BulkTransferLoanOfficerData.template(fromLoanOfficerId, allowedLoanOfficers, new LocalDate());
|
||||
final BulkTransferLoanOfficerData loanReassignmentData = BulkTransferLoanOfficerData.template(fromLoanOfficerId,
|
||||
allowedLoanOfficers, new LocalDate());
|
||||
|
||||
return this.apiJsonSerializerService.serializeLoanReassignmentDataToJson(prettyPrint, responseParameters, loanReassignmentData);
|
||||
}
|
||||
|
||||
|
||||
@POST
|
||||
@Path("loanreassignment")
|
||||
@Consumes({ MediaType.APPLICATION_JSON })
|
||||
@Produces({ MediaType.APPLICATION_JSON })
|
||||
public Response loanReassignment(final String apiRequestBodyAsJson) {
|
||||
|
||||
// final List<String> allowedPermissions = Arrays.asList("ALL_FUNCTIONS", "PORTFOLIO_MANAGEMENT_SUPER_USER", "BULKREASSIGN_LOAN");
|
||||
// context.authenticatedUser().validateHasPermissionTo("BULKREASSIGN_LOAN", allowedPermissions);
|
||||
//
|
||||
// final EntityIdentifier result = this.commandsSourceWritePlatformService.logCommandSource("BULKREASSIGN_LOAN", "staff", null,
|
||||
// apiRequestBodyAsJson);
|
||||
//
|
||||
// return this.apiJsonSerializerService.serializeEntityIdentifier(result);
|
||||
// final List<String> allowedPermissions =
|
||||
// Arrays.asList("ALL_FUNCTIONS", "PORTFOLIO_MANAGEMENT_SUPER_USER",
|
||||
// "BULKREASSIGN_LOAN");
|
||||
// context.authenticatedUser().validateHasPermissionTo("BULKREASSIGN_LOAN",
|
||||
// allowedPermissions);
|
||||
//
|
||||
// final EntityIdentifier result =
|
||||
// this.commandsSourceWritePlatformService.logCommandSource("BULKREASSIGN_LOAN",
|
||||
// "staff", null,
|
||||
// apiRequestBodyAsJson);
|
||||
//
|
||||
// return
|
||||
// this.apiJsonSerializerService.serializeEntityIdentifier(result);
|
||||
|
||||
final BulkTransferLoanOfficerCommand command = this.apiDataConversionService.convertJsonToBulkLoanReassignmentCommand(apiRequestBodyAsJson);
|
||||
final BulkTransferLoanOfficerCommand command = this.apiDataConversionService
|
||||
.convertJsonToBulkLoanReassignmentCommand(apiRequestBodyAsJson);
|
||||
|
||||
final EntityIdentifier loanOfficerIdentifier = this.loanWritePlatformService.bulkLoanReassignment(command);
|
||||
final EntityIdentifier loanOfficerIdentifier = this.loanWritePlatformService.bulkLoanReassignment(command);
|
||||
|
||||
return Response.ok().entity(loanOfficerIdentifier).build();
|
||||
return Response.ok().entity(loanOfficerIdentifier).build();
|
||||
}
|
||||
|
||||
@GET
|
||||
@@ -655,8 +676,8 @@ public class LoansApiResource {
|
||||
staffAccountSummaryCollectionData = this.staffReadPlatformService.retrieveLoanOfficerAccountSummary(loanOfficerId);
|
||||
}
|
||||
|
||||
final BulkTransferLoanOfficerData loanReassignmentData = BulkTransferLoanOfficerData.templateForBulk(officeId, loanOfficerId, new LocalDate(),
|
||||
offices, loanOfficers, staffAccountSummaryCollectionData);
|
||||
final BulkTransferLoanOfficerData loanReassignmentData = BulkTransferLoanOfficerData.templateForBulk(officeId, loanOfficerId,
|
||||
new LocalDate(), offices, loanOfficers, staffAccountSummaryCollectionData);
|
||||
|
||||
return this.apiJsonSerializerService.serializeLoanReassignmentDataToJson(prettyPrint, responseParameters, loanReassignmentData);
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.api.commands;
|
||||
package org.mifosplatform.portfolio.loanaccount.command;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
+2
-1
@@ -1,9 +1,10 @@
|
||||
package org.mifosng.platform.api.commands;
|
||||
package org.mifosplatform.portfolio.loanaccount.command;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Set;
|
||||
|
||||
import org.joda.time.LocalDate;
|
||||
import org.mifosplatform.portfolio.loanaccount.loanschedule.command.CalculateLoanScheduleCommand;
|
||||
import org.mifosplatform.portfolio.loanproduct.command.LoanProductCommand;
|
||||
|
||||
/**
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.api.commands;
|
||||
package org.mifosplatform.portfolio.loanaccount.command;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.HashSet;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.api.commands;
|
||||
package org.mifosplatform.portfolio.loanaccount.command;
|
||||
|
||||
import org.joda.time.LocalDate;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.api.commands;
|
||||
package org.mifosplatform.portfolio.loanaccount.command;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.api.commands;
|
||||
package org.mifosplatform.portfolio.loanaccount.command;
|
||||
|
||||
/**
|
||||
* Immutable command for undo'ing a state transition.
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.api.data;
|
||||
package org.mifosplatform.portfolio.loanaccount.data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
+2
-1
@@ -1,9 +1,10 @@
|
||||
package org.mifosng.platform.api.data;
|
||||
package org.mifosplatform.portfolio.loanaccount.data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Collection;
|
||||
|
||||
import org.joda.time.LocalDate;
|
||||
import org.mifosng.platform.api.data.GuarantorData;
|
||||
import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
|
||||
import org.mifosplatform.infrastructure.core.data.EnumOptionData;
|
||||
import org.mifosplatform.infrastructure.staff.data.StaffData;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.api.data;
|
||||
package org.mifosplatform.portfolio.loanaccount.data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.api.data;
|
||||
package org.mifosplatform.portfolio.loanaccount.data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Collection;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.api.data;
|
||||
package org.mifosplatform.portfolio.loanaccount.data;
|
||||
|
||||
public class LoanConvenienceData {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.api.data;
|
||||
package org.mifosplatform.portfolio.loanaccount.data;
|
||||
|
||||
/**
|
||||
* Immutable data object containing information on permissions allowed on a given loan.
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.api.data;
|
||||
package org.mifosplatform.portfolio.loanaccount.data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Collection;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.api.data;
|
||||
package org.mifosplatform.portfolio.loanaccount.data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.api.data;
|
||||
package org.mifosplatform.portfolio.loanaccount.data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loan.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.domain;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loan.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.domain;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loan.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.domain;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loan.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.domain;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
+8
-8
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loan.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.domain;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
@@ -26,13 +26,6 @@ import org.apache.commons.lang.StringUtils;
|
||||
import org.hibernate.annotations.LazyCollection;
|
||||
import org.hibernate.annotations.LazyCollectionOption;
|
||||
import org.joda.time.LocalDate;
|
||||
import org.mifosng.platform.api.commands.LoanApplicationCommand;
|
||||
import org.mifosng.platform.api.commands.LoanChargeCommand;
|
||||
import org.mifosng.platform.api.data.LoanScheduleData;
|
||||
import org.mifosng.platform.api.data.LoanSchedulePeriodData;
|
||||
import org.mifosng.platform.exceptions.InvalidLoanStateTransitionException;
|
||||
import org.mifosng.platform.exceptions.InvalidLoanTransactionTypeException;
|
||||
import org.mifosng.platform.exceptions.LoanOfficerAssignmentException;
|
||||
import org.mifosng.platform.group.domain.Group;
|
||||
import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
|
||||
import org.mifosplatform.infrastructure.configuration.domain.Money;
|
||||
@@ -42,6 +35,13 @@ import org.mifosplatform.infrastructure.user.domain.AppUser;
|
||||
import org.mifosplatform.portfolio.charge.exception.LoanChargeCannotBeAddedException;
|
||||
import org.mifosplatform.portfolio.client.domain.Client;
|
||||
import org.mifosplatform.portfolio.fund.domain.Fund;
|
||||
import org.mifosplatform.portfolio.loanaccount.command.LoanApplicationCommand;
|
||||
import org.mifosplatform.portfolio.loanaccount.command.LoanChargeCommand;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanScheduleData;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanSchedulePeriodData;
|
||||
import org.mifosplatform.portfolio.loanaccount.exception.InvalidLoanStateTransitionException;
|
||||
import org.mifosplatform.portfolio.loanaccount.exception.InvalidLoanTransactionTypeException;
|
||||
import org.mifosplatform.portfolio.loanaccount.exception.LoanOfficerAssignmentException;
|
||||
import org.mifosplatform.portfolio.loanproduct.domain.LoanProduct;
|
||||
import org.mifosplatform.portfolio.loanproduct.domain.LoanProductRelatedDetail;
|
||||
import org.mifosplatform.portfolio.loanproduct.domain.LoanTransactionProcessingStrategy;
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loan.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.domain;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.MathContext;
|
||||
@@ -16,13 +16,13 @@ import javax.persistence.Temporal;
|
||||
import javax.persistence.TemporalType;
|
||||
|
||||
import org.joda.time.LocalDate;
|
||||
import org.mifosng.platform.api.commands.LoanChargeCommand;
|
||||
import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
|
||||
import org.mifosplatform.infrastructure.configuration.domain.Money;
|
||||
import org.mifosplatform.portfolio.charge.domain.Charge;
|
||||
import org.mifosplatform.portfolio.charge.domain.ChargeCalculationType;
|
||||
import org.mifosplatform.portfolio.charge.domain.ChargeTimeType;
|
||||
import org.mifosplatform.portfolio.charge.exception.LoanChargeWithoutMandatoryFieldException;
|
||||
import org.mifosplatform.portfolio.loanaccount.command.LoanChargeCommand;
|
||||
import org.springframework.data.jpa.domain.AbstractPersistable;
|
||||
|
||||
@Entity
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loan.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.domain;
|
||||
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loan.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.domain;
|
||||
|
||||
/**
|
||||
*
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loan.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.domain;
|
||||
|
||||
public interface LoanLifecycleStateMachine {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loan.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.domain;
|
||||
|
||||
import org.joda.time.LocalDate;
|
||||
import org.mifosplatform.infrastructure.core.domain.AbstractAuditableCustom;
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
package org.mifosng.platform.loan.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.domain;
|
||||
|
||||
import java.util.Comparator;
|
||||
|
||||
import org.mifosng.platform.api.data.LoanTransactionData;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanTransactionData;
|
||||
|
||||
public class LoanRepaymentDataComparator implements Comparator<LoanTransactionData> {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loan.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.domain;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loan.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.domain;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loan.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.domain;
|
||||
|
||||
import org.mifosplatform.portfolio.loanproduct.domain.LoanTransactionProcessingStrategy;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loan.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.domain;
|
||||
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loan.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.domain;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loan.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.domain;
|
||||
|
||||
/**
|
||||
* Enum representation of loan status states.
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loan.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.domain;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
@@ -16,13 +16,13 @@ import javax.persistence.Temporal;
|
||||
import javax.persistence.TemporalType;
|
||||
|
||||
import org.joda.time.LocalDate;
|
||||
import org.mifosng.platform.api.data.LoanTransactionData;
|
||||
import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
|
||||
import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
|
||||
import org.mifosplatform.infrastructure.configuration.domain.Money;
|
||||
import org.mifosplatform.infrastructure.core.data.EnumOptionData;
|
||||
import org.mifosplatform.infrastructure.core.domain.AbstractAuditableCustom;
|
||||
import org.mifosplatform.infrastructure.user.domain.AppUser;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanTransactionData;
|
||||
import org.mifosplatform.portfolio.loanproduct.service.LoanEnumerations;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loan.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.domain;
|
||||
|
||||
import java.util.Comparator;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loan.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.domain;
|
||||
|
||||
import org.mifosplatform.portfolio.loanproduct.domain.LoanTransactionProcessingStrategy;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loan.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.domain;
|
||||
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loan.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.domain;
|
||||
|
||||
public enum LoanTransactionType {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loan.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.domain;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loan.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.domain;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loan.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.domain;
|
||||
|
||||
import org.mifosplatform.infrastructure.configuration.domain.Money;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.exceptions;
|
||||
package org.mifosplatform.portfolio.loanaccount.exception;
|
||||
|
||||
import org.mifosplatform.infrastructure.core.exception.AbstractPlatformDomainRuleException;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.exceptions;
|
||||
package org.mifosplatform.portfolio.loanaccount.exception;
|
||||
|
||||
import org.mifosplatform.infrastructure.core.exception.AbstractPlatformDomainRuleException;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.exceptions;
|
||||
package org.mifosplatform.portfolio.loanaccount.exception;
|
||||
|
||||
import org.mifosplatform.infrastructure.core.exception.AbstractPlatformResourceNotFoundException;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.exceptions;
|
||||
package org.mifosplatform.portfolio.loanaccount.exception;
|
||||
|
||||
import org.mifosplatform.infrastructure.core.exception.AbstractPlatformDomainRuleException;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.exceptions;
|
||||
package org.mifosplatform.portfolio.loanaccount.exception;
|
||||
|
||||
import org.joda.time.LocalDate;
|
||||
import org.mifosplatform.infrastructure.core.exception.AbstractPlatformDomainRuleException;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.exceptions;
|
||||
package org.mifosplatform.portfolio.loanaccount.exception;
|
||||
|
||||
import org.mifosplatform.infrastructure.core.exception.AbstractPlatformResourceNotFoundException;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.exceptions;
|
||||
package org.mifosplatform.portfolio.loanaccount.exception;
|
||||
|
||||
import org.mifosplatform.infrastructure.core.exception.AbstractPlatformResourceNotFoundException;
|
||||
|
||||
+2
-1
@@ -1,8 +1,9 @@
|
||||
package org.mifosng.platform.api.commands;
|
||||
package org.mifosplatform.portfolio.loanaccount.loanschedule.command;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import org.joda.time.LocalDate;
|
||||
import org.mifosplatform.portfolio.loanaccount.command.LoanChargeCommand;
|
||||
|
||||
/**
|
||||
* Immutable command used when auto-calculating loan schedules based on loan terms.
|
||||
+3
-3
@@ -1,13 +1,13 @@
|
||||
package org.mifosng.platform.loanschedule.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.loanschedule.domain;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.joda.time.LocalDate;
|
||||
import org.mifosng.platform.api.data.LoanScheduleData;
|
||||
import org.mifosng.platform.loan.domain.LoanCharge;
|
||||
import org.mifosplatform.infrastructure.configuration.domain.ApplicationCurrency;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanScheduleData;
|
||||
import org.mifosplatform.portfolio.loanaccount.domain.LoanCharge;
|
||||
import org.mifosplatform.portfolio.loanproduct.domain.LoanProductRelatedDetail;
|
||||
|
||||
public interface AmortizationLoanScheduleGenerator {
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loanschedule.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.loanschedule.domain;
|
||||
|
||||
import org.mifosplatform.portfolio.loanproduct.domain.AmortizationMethod;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loanschedule.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.loanschedule.domain;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
+3
-3
@@ -1,13 +1,13 @@
|
||||
package org.mifosng.platform.loanschedule.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.loanschedule.domain;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.joda.time.LocalDate;
|
||||
import org.mifosng.platform.api.data.LoanScheduleData;
|
||||
import org.mifosng.platform.loan.domain.LoanCharge;
|
||||
import org.mifosplatform.infrastructure.configuration.domain.ApplicationCurrency;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanScheduleData;
|
||||
import org.mifosplatform.portfolio.loanaccount.domain.LoanCharge;
|
||||
import org.mifosplatform.portfolio.loanproduct.domain.AmortizationMethod;
|
||||
import org.mifosplatform.portfolio.loanproduct.domain.LoanProductRelatedDetail;
|
||||
import org.mifosplatform.portfolio.loanproduct.domain.PeriodFrequencyType;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loanschedule.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.loanschedule.domain;
|
||||
|
||||
import org.mifosplatform.portfolio.loanproduct.domain.InterestMethod;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loanschedule.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.loanschedule.domain;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loanschedule.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.loanschedule.domain;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
+4
-4
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loanschedule.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.loanschedule.domain;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
@@ -8,13 +8,13 @@ import java.util.Set;
|
||||
|
||||
import org.joda.time.Days;
|
||||
import org.joda.time.LocalDate;
|
||||
import org.mifosng.platform.api.data.LoanScheduleData;
|
||||
import org.mifosng.platform.api.data.LoanSchedulePeriodData;
|
||||
import org.mifosng.platform.loan.domain.LoanCharge;
|
||||
import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
|
||||
import org.mifosplatform.infrastructure.configuration.domain.ApplicationCurrency;
|
||||
import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
|
||||
import org.mifosplatform.infrastructure.configuration.domain.Money;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanScheduleData;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanSchedulePeriodData;
|
||||
import org.mifosplatform.portfolio.loanaccount.domain.LoanCharge;
|
||||
import org.mifosplatform.portfolio.loanproduct.domain.LoanProductRelatedDetail;
|
||||
|
||||
/**
|
||||
+4
-4
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loanschedule.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.loanschedule.domain;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
@@ -8,13 +8,13 @@ import java.util.Set;
|
||||
|
||||
import org.joda.time.Days;
|
||||
import org.joda.time.LocalDate;
|
||||
import org.mifosng.platform.api.data.LoanScheduleData;
|
||||
import org.mifosng.platform.api.data.LoanSchedulePeriodData;
|
||||
import org.mifosng.platform.loan.domain.LoanCharge;
|
||||
import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
|
||||
import org.mifosplatform.infrastructure.configuration.domain.ApplicationCurrency;
|
||||
import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
|
||||
import org.mifosplatform.infrastructure.configuration.domain.Money;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanScheduleData;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanSchedulePeriodData;
|
||||
import org.mifosplatform.portfolio.loanaccount.domain.LoanCharge;
|
||||
import org.mifosplatform.portfolio.loanproduct.domain.LoanProductRelatedDetail;
|
||||
|
||||
public class EqualPrincipalAmortizationLoanScheduleGenerator implements AmortizationLoanScheduleGenerator {
|
||||
+4
-4
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loanschedule.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.loanschedule.domain;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.MathContext;
|
||||
@@ -10,13 +10,13 @@ import java.util.Set;
|
||||
|
||||
import org.joda.time.Days;
|
||||
import org.joda.time.LocalDate;
|
||||
import org.mifosng.platform.api.data.LoanScheduleData;
|
||||
import org.mifosng.platform.api.data.LoanSchedulePeriodData;
|
||||
import org.mifosng.platform.loan.domain.LoanCharge;
|
||||
import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
|
||||
import org.mifosplatform.infrastructure.configuration.domain.ApplicationCurrency;
|
||||
import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
|
||||
import org.mifosplatform.infrastructure.configuration.domain.Money;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanScheduleData;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanSchedulePeriodData;
|
||||
import org.mifosplatform.portfolio.loanaccount.domain.LoanCharge;
|
||||
import org.mifosplatform.portfolio.loanproduct.domain.LoanProductRelatedDetail;
|
||||
import org.mifosplatform.portfolio.loanproduct.domain.PeriodFrequencyType;
|
||||
|
||||
+3
-3
@@ -1,11 +1,11 @@
|
||||
package org.mifosng.platform.loanschedule.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.loanschedule.domain;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
import org.joda.time.LocalDate;
|
||||
import org.mifosng.platform.api.data.LoanScheduleData;
|
||||
import org.mifosng.platform.loan.domain.LoanCharge;
|
||||
import org.mifosplatform.infrastructure.configuration.domain.ApplicationCurrency;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanScheduleData;
|
||||
import org.mifosplatform.portfolio.loanaccount.domain.LoanCharge;
|
||||
import org.mifosplatform.portfolio.loanproduct.domain.LoanProductRelatedDetail;
|
||||
import org.mifosplatform.portfolio.loanproduct.domain.PeriodFrequencyType;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loanschedule.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.loanschedule.domain;
|
||||
|
||||
import org.mifosplatform.portfolio.loanproduct.domain.InterestMethod;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loanschedule.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.loanschedule.domain;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loanschedule.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.loanschedule.domain;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.MathContext;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loanschedule.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.loanschedule.domain;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loanschedule.domain;
|
||||
package org.mifosplatform.portfolio.loanaccount.loanschedule.domain;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
+2
-2
@@ -1,12 +1,12 @@
|
||||
package org.mifosng.platform.loan.service;
|
||||
package org.mifosplatform.portfolio.loanaccount.service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.mifosng.platform.api.commands.AdjustLoanTransactionCommand;
|
||||
import org.mifosplatform.infrastructure.core.data.ApiParameterError;
|
||||
import org.mifosplatform.infrastructure.core.data.DataValidatorBuilder;
|
||||
import org.mifosplatform.infrastructure.core.exception.PlatformApiDataValidationException;
|
||||
import org.mifosplatform.portfolio.loanaccount.command.AdjustLoanTransactionCommand;
|
||||
|
||||
public class AdjustLoanTransactionCommandValidator {
|
||||
|
||||
+2
-2
@@ -1,12 +1,12 @@
|
||||
package org.mifosng.platform.loan.service;
|
||||
package org.mifosplatform.portfolio.loanaccount.service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.mifosng.platform.api.commands.CalculateLoanScheduleCommand;
|
||||
import org.mifosplatform.infrastructure.core.data.ApiParameterError;
|
||||
import org.mifosplatform.infrastructure.core.data.DataValidatorBuilder;
|
||||
import org.mifosplatform.infrastructure.core.exception.PlatformApiDataValidationException;
|
||||
import org.mifosplatform.portfolio.loanaccount.loanschedule.command.CalculateLoanScheduleCommand;
|
||||
|
||||
public class CalculateLoanScheduleCommandValidator {
|
||||
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
package org.mifosplatform.portfolio.loanaccount.service;
|
||||
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanScheduleData;
|
||||
import org.mifosplatform.portfolio.loanaccount.loanschedule.command.CalculateLoanScheduleCommand;
|
||||
|
||||
public interface CalculationPlatformService {
|
||||
|
||||
LoanScheduleData calculateLoanSchedule(CalculateLoanScheduleCommand command);
|
||||
}
|
||||
+7
-7
@@ -1,16 +1,16 @@
|
||||
package org.mifosng.platform.loan.service;
|
||||
package org.mifosplatform.portfolio.loanaccount.service;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
import org.mifosng.platform.api.commands.CalculateLoanScheduleCommand;
|
||||
import org.mifosng.platform.api.data.LoanScheduleData;
|
||||
import org.mifosng.platform.loan.domain.LoanCharge;
|
||||
import org.mifosng.platform.loanschedule.domain.DefaultLoanScheduleGeneratorFactory;
|
||||
import org.mifosng.platform.loanschedule.domain.LoanScheduleGenerator;
|
||||
import org.mifosng.platform.loanschedule.domain.LoanScheduleGeneratorFactory;
|
||||
import org.mifosplatform.infrastructure.configuration.domain.ApplicationCurrency;
|
||||
import org.mifosplatform.infrastructure.configuration.domain.ApplicationCurrencyRepository;
|
||||
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanScheduleData;
|
||||
import org.mifosplatform.portfolio.loanaccount.domain.LoanCharge;
|
||||
import org.mifosplatform.portfolio.loanaccount.loanschedule.command.CalculateLoanScheduleCommand;
|
||||
import org.mifosplatform.portfolio.loanaccount.loanschedule.domain.DefaultLoanScheduleGeneratorFactory;
|
||||
import org.mifosplatform.portfolio.loanaccount.loanschedule.domain.LoanScheduleGenerator;
|
||||
import org.mifosplatform.portfolio.loanaccount.loanschedule.domain.LoanScheduleGeneratorFactory;
|
||||
import org.mifosplatform.portfolio.loanproduct.domain.InterestMethod;
|
||||
import org.mifosplatform.portfolio.loanproduct.domain.LoanProductRelatedDetail;
|
||||
import org.mifosplatform.portfolio.loanproduct.domain.PeriodFrequencyType;
|
||||
+4
-4
@@ -1,14 +1,14 @@
|
||||
package org.mifosng.platform.loan.service;
|
||||
package org.mifosplatform.portfolio.loanaccount.service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.mifosng.platform.api.commands.CalculateLoanScheduleCommand;
|
||||
import org.mifosng.platform.api.commands.LoanChargeCommand;
|
||||
import org.mifosng.platform.api.commands.LoanApplicationCommand;
|
||||
import org.mifosplatform.infrastructure.core.data.ApiParameterError;
|
||||
import org.mifosplatform.infrastructure.core.data.DataValidatorBuilder;
|
||||
import org.mifosplatform.infrastructure.core.exception.PlatformApiDataValidationException;
|
||||
import org.mifosplatform.portfolio.loanaccount.command.LoanApplicationCommand;
|
||||
import org.mifosplatform.portfolio.loanaccount.command.LoanChargeCommand;
|
||||
import org.mifosplatform.portfolio.loanaccount.loanschedule.command.CalculateLoanScheduleCommand;
|
||||
|
||||
public class LoanApplicationCommandValidator {
|
||||
|
||||
+13
-13
@@ -1,25 +1,13 @@
|
||||
package org.mifosng.platform.loan.service;
|
||||
package org.mifosplatform.portfolio.loanaccount.service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.mifosng.platform.api.commands.LoanApplicationCommand;
|
||||
import org.mifosng.platform.api.data.LoanScheduleData;
|
||||
import org.mifosng.platform.api.data.LoanSchedulePeriodData;
|
||||
import org.mifosng.platform.exceptions.GroupNotFoundException;
|
||||
import org.mifosng.platform.exceptions.LoanTransactionProcessingStrategyNotFoundException;
|
||||
import org.mifosng.platform.group.domain.Group;
|
||||
import org.mifosng.platform.group.domain.GroupRepository;
|
||||
import org.mifosng.platform.loan.domain.DefaultLoanLifecycleStateMachine;
|
||||
import org.mifosng.platform.loan.domain.Loan;
|
||||
import org.mifosng.platform.loan.domain.LoanCharge;
|
||||
import org.mifosng.platform.loan.domain.LoanLifecycleStateMachine;
|
||||
import org.mifosng.platform.loan.domain.LoanRepaymentScheduleInstallment;
|
||||
import org.mifosng.platform.loan.domain.LoanStatus;
|
||||
import org.mifosng.platform.loan.domain.LoanTransactionProcessingStrategyRepository;
|
||||
import org.mifosng.platform.loanschedule.domain.AprCalculator;
|
||||
import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
|
||||
import org.mifosplatform.infrastructure.staff.domain.Staff;
|
||||
import org.mifosplatform.infrastructure.staff.domain.StaffRepository;
|
||||
@@ -31,6 +19,18 @@ import org.mifosplatform.portfolio.client.exception.ClientNotFoundException;
|
||||
import org.mifosplatform.portfolio.fund.domain.Fund;
|
||||
import org.mifosplatform.portfolio.fund.domain.FundRepository;
|
||||
import org.mifosplatform.portfolio.fund.exception.FundNotFoundException;
|
||||
import org.mifosplatform.portfolio.loanaccount.command.LoanApplicationCommand;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanScheduleData;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanSchedulePeriodData;
|
||||
import org.mifosplatform.portfolio.loanaccount.domain.DefaultLoanLifecycleStateMachine;
|
||||
import org.mifosplatform.portfolio.loanaccount.domain.Loan;
|
||||
import org.mifosplatform.portfolio.loanaccount.domain.LoanCharge;
|
||||
import org.mifosplatform.portfolio.loanaccount.domain.LoanLifecycleStateMachine;
|
||||
import org.mifosplatform.portfolio.loanaccount.domain.LoanRepaymentScheduleInstallment;
|
||||
import org.mifosplatform.portfolio.loanaccount.domain.LoanStatus;
|
||||
import org.mifosplatform.portfolio.loanaccount.domain.LoanTransactionProcessingStrategyRepository;
|
||||
import org.mifosplatform.portfolio.loanaccount.exception.LoanTransactionProcessingStrategyNotFoundException;
|
||||
import org.mifosplatform.portfolio.loanaccount.loanschedule.domain.AprCalculator;
|
||||
import org.mifosplatform.portfolio.loanproduct.domain.AmortizationMethod;
|
||||
import org.mifosplatform.portfolio.loanproduct.domain.InterestCalculationPeriodMethod;
|
||||
import org.mifosplatform.portfolio.loanproduct.domain.InterestMethod;
|
||||
+4
-4
@@ -1,17 +1,17 @@
|
||||
package org.mifosng.platform.loan.service;
|
||||
package org.mifosplatform.portfolio.loanaccount.service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.mifosng.platform.api.commands.LoanChargeCommand;
|
||||
import org.mifosng.platform.loan.domain.LoanCharge;
|
||||
import org.mifosng.platform.loan.domain.LoanChargeRepository;
|
||||
import org.mifosplatform.portfolio.charge.domain.Charge;
|
||||
import org.mifosplatform.portfolio.charge.domain.ChargeRepository;
|
||||
import org.mifosplatform.portfolio.charge.exception.ChargeIsNotActiveException;
|
||||
import org.mifosplatform.portfolio.charge.exception.ChargeNotFoundException;
|
||||
import org.mifosplatform.portfolio.charge.exception.LoanChargeNotFoundException;
|
||||
import org.mifosplatform.portfolio.loanaccount.command.LoanChargeCommand;
|
||||
import org.mifosplatform.portfolio.loanaccount.domain.LoanCharge;
|
||||
import org.mifosplatform.portfolio.loanaccount.domain.LoanChargeRepository;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
+2
-2
@@ -1,9 +1,9 @@
|
||||
package org.mifosng.platform.loan.service;
|
||||
package org.mifosplatform.portfolio.loanaccount.service;
|
||||
|
||||
import org.mifosng.platform.api.commands.LoanChargeCommand;
|
||||
import org.mifosplatform.infrastructure.core.data.ApiParameterError;
|
||||
import org.mifosplatform.infrastructure.core.data.DataValidatorBuilder;
|
||||
import org.mifosplatform.infrastructure.core.exception.PlatformApiDataValidationException;
|
||||
import org.mifosplatform.portfolio.loanaccount.command.LoanChargeCommand;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
+3
-3
@@ -1,10 +1,10 @@
|
||||
package org.mifosng.platform.loan.service;
|
||||
package org.mifosplatform.portfolio.loanaccount.service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import org.mifosng.platform.api.commands.CalculateLoanScheduleCommand;
|
||||
import org.mifosng.platform.loanschedule.domain.AprCalculator;
|
||||
import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
|
||||
import org.mifosplatform.portfolio.loanaccount.loanschedule.command.CalculateLoanScheduleCommand;
|
||||
import org.mifosplatform.portfolio.loanaccount.loanschedule.domain.AprCalculator;
|
||||
import org.mifosplatform.portfolio.loanproduct.domain.AmortizationMethod;
|
||||
import org.mifosplatform.portfolio.loanproduct.domain.InterestCalculationPeriodMethod;
|
||||
import org.mifosplatform.portfolio.loanproduct.domain.InterestMethod;
|
||||
+6
-6
@@ -1,14 +1,14 @@
|
||||
package org.mifosng.platform.loan.service;
|
||||
package org.mifosplatform.portfolio.loanaccount.service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Collection;
|
||||
|
||||
import org.mifosng.platform.api.data.DisbursementData;
|
||||
import org.mifosng.platform.api.data.LoanBasicDetailsData;
|
||||
import org.mifosng.platform.api.data.LoanPermissionData;
|
||||
import org.mifosng.platform.api.data.LoanScheduleData;
|
||||
import org.mifosng.platform.api.data.LoanTransactionData;
|
||||
import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.DisbursementData;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanBasicDetailsData;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanPermissionData;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanScheduleData;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanTransactionData;
|
||||
|
||||
public interface LoanReadPlatformService {
|
||||
|
||||
+15
-15
@@ -1,4 +1,4 @@
|
||||
package org.mifosng.platform.loan.service;
|
||||
package org.mifosplatform.portfolio.loanaccount.service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.ResultSet;
|
||||
@@ -7,22 +7,8 @@ import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
|
||||
import org.joda.time.LocalDate;
|
||||
import org.mifosng.platform.api.data.DisbursementData;
|
||||
import org.mifosng.platform.api.data.GroupData;
|
||||
import org.mifosng.platform.api.data.LoanBasicDetailsData;
|
||||
import org.mifosng.platform.api.data.LoanChargeData;
|
||||
import org.mifosng.platform.api.data.LoanPermissionData;
|
||||
import org.mifosng.platform.api.data.LoanScheduleData;
|
||||
import org.mifosng.platform.api.data.LoanSchedulePeriodData;
|
||||
import org.mifosng.platform.api.data.LoanTransactionData;
|
||||
import org.mifosng.platform.exceptions.LoanNotFoundException;
|
||||
import org.mifosng.platform.exceptions.LoanTransactionNotFoundException;
|
||||
import org.mifosng.platform.group.service.GroupReadPlatformService;
|
||||
import org.mifosng.platform.loan.domain.Loan;
|
||||
import org.mifosng.platform.loan.domain.LoanRepository;
|
||||
import org.mifosng.platform.loan.domain.LoanTransaction;
|
||||
import org.mifosng.platform.loan.domain.LoanTransactionRepository;
|
||||
import org.mifosng.platform.loan.domain.LoanTransactionType;
|
||||
import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
|
||||
import org.mifosplatform.infrastructure.configuration.domain.ApplicationCurrency;
|
||||
import org.mifosplatform.infrastructure.configuration.domain.ApplicationCurrencyRepository;
|
||||
@@ -35,6 +21,20 @@ import org.mifosplatform.infrastructure.core.service.TenantAwareRoutingDataSourc
|
||||
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
|
||||
import org.mifosplatform.portfolio.client.data.ClientData;
|
||||
import org.mifosplatform.portfolio.client.service.ClientReadPlatformService;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.DisbursementData;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanBasicDetailsData;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanChargeData;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanPermissionData;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanScheduleData;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanSchedulePeriodData;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanTransactionData;
|
||||
import org.mifosplatform.portfolio.loanaccount.domain.Loan;
|
||||
import org.mifosplatform.portfolio.loanaccount.domain.LoanRepository;
|
||||
import org.mifosplatform.portfolio.loanaccount.domain.LoanTransaction;
|
||||
import org.mifosplatform.portfolio.loanaccount.domain.LoanTransactionRepository;
|
||||
import org.mifosplatform.portfolio.loanaccount.domain.LoanTransactionType;
|
||||
import org.mifosplatform.portfolio.loanaccount.exception.LoanNotFoundException;
|
||||
import org.mifosplatform.portfolio.loanaccount.exception.LoanTransactionNotFoundException;
|
||||
import org.mifosplatform.portfolio.loanproduct.data.LoanProductData;
|
||||
import org.mifosplatform.portfolio.loanproduct.service.LoanEnumerations;
|
||||
import org.mifosplatform.portfolio.loanproduct.service.LoanProductReadPlatformService;
|
||||
+2
-2
@@ -1,9 +1,9 @@
|
||||
package org.mifosng.platform.loan.service;
|
||||
package org.mifosplatform.portfolio.loanaccount.service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Collection;
|
||||
|
||||
import org.mifosng.platform.api.data.LoanSchedulePeriodData;
|
||||
import org.mifosplatform.portfolio.loanaccount.data.LoanSchedulePeriodData;
|
||||
|
||||
public class LoanSchedulePeriodDataWrapper {
|
||||
|
||||
+2
-2
@@ -1,12 +1,12 @@
|
||||
package org.mifosng.platform.loan.service;
|
||||
package org.mifosplatform.portfolio.loanaccount.service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.mifosng.platform.api.commands.LoanStateTransitionCommand;
|
||||
import org.mifosplatform.infrastructure.core.data.ApiParameterError;
|
||||
import org.mifosplatform.infrastructure.core.data.DataValidatorBuilder;
|
||||
import org.mifosplatform.infrastructure.core.exception.PlatformApiDataValidationException;
|
||||
import org.mifosplatform.portfolio.loanaccount.command.LoanStateTransitionCommand;
|
||||
|
||||
public class LoanStateTransitionCommandValidator {
|
||||
|
||||
+2
-2
@@ -1,12 +1,12 @@
|
||||
package org.mifosng.platform.loan.service;
|
||||
package org.mifosplatform.portfolio.loanaccount.service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.mifosng.platform.api.commands.LoanTransactionCommand;
|
||||
import org.mifosplatform.infrastructure.core.data.ApiParameterError;
|
||||
import org.mifosplatform.infrastructure.core.data.DataValidatorBuilder;
|
||||
import org.mifosplatform.infrastructure.core.exception.PlatformApiDataValidationException;
|
||||
import org.mifosplatform.portfolio.loanaccount.command.LoanTransactionCommand;
|
||||
|
||||
public class LoanTransactionCommandValidator {
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user