From 40306084428e7ba89e274e9a7af9ba9c8ca4df3f Mon Sep 17 00:00:00 2001 From: Vishwas Babu AJ Date: Mon, 18 Feb 2013 20:29:45 +0530 Subject: [PATCH] code cleanup and renaming entry date in journal entries --- api-docs/apiLive.htm | 16 +- .../closure/api/GLClosureJsonInputParams.java | 2 +- .../closure/api/GLClosuresApiResource.java | 14 +- .../closure/command/GLClosureCommand.java | 8 +- .../closure/data/GLClosureData.java | 8 +- .../accounting/closure/domain/GLClosure.java | 12 +- .../GLClosureInvalidDeleteException.java | 4 +- ...ClosureCommandFromApiJsonDeserializer.java | 18 +- .../GLClosureReadPlatformServiceImpl.java | 42 ++-- ...WritePlatformServiceJpaRepositoryImpl.java | 28 +-- .../common/AccountingConstants.java | 12 +- .../common/AccountingEnumerations.java | 28 +-- .../api/GLAccountJsonInputParams.java | 6 +- .../glaccount/api/GLAccountsApiResource.java | 22 +- .../glaccount/command/GLAccountCommand.java | 15 +- .../glaccount/data/GLAccountData.java | 3 +- .../glaccount/data/LoanTransactionDTO.java | 30 +-- .../glaccount/domain/GLAccount.java | 26 +-- .../glaccount/domain/GLAccountType.java | 8 +- .../glaccount/domain/GLAccountUsage.java | 8 +- .../GLAccountInvalidParentException.java | 2 +- ...AccountCommandFromApiJsonDeserializer.java | 26 +-- .../GLAccountReadPlatformServiceImpl.java | 40 ++-- ...WritePlatformServiceJpaRepositoryImpl.java | 27 +-- .../journalentry/api/DateParam.java | 6 +- .../api/JournalEntriesApiResource.java | 14 +- .../api/JournalEntryJsonInputParams.java | 4 +- .../command/JournalEntryCommand.java | 26 +-- .../SingleDebitOrCreditEntryCommand.java | 3 +- .../journalentry/data/JournalEntryData.java | 13 +- .../journalentry/domain/JournalEntry.java | 26 ++- .../domain/JournalEntryRepositoryCustom.java | 1 - .../domain/JournalEntryRepositoryImpl.java | 4 +- .../journalentry/domain/JournalEntryType.java | 9 +- ...alEntryCommandFromApiJsonDeserializer.java | 33 ++- .../JournalEntryReadPlatformServiceImpl.java | 76 +++---- .../JournalEntryWritePlatformService.java | 2 +- ...WritePlatformServiceJpaRepositoryImpl.java | 208 +++++++++--------- .../domain/PortfolioProductType.java | 8 +- .../domain/ProductToGLAccountMapping.java | 10 +- ...uctToGLAccountMappingInvalidException.java | 4 +- ...ctToGLAccountMappingNotFoundException.java | 2 +- ...AccountMappingFromApiJsonDeserializer.java | 27 +-- ...AccountMappingReadPlatformServiceImpl.java | 8 +- ...ccountMappingWritePlatformServiceImpl.java | 4 +- 45 files changed, 454 insertions(+), 439 deletions(-) diff --git a/api-docs/apiLive.htm b/api-docs/apiLive.htm index 6ed3600c2..263200c9d 100644 --- a/api-docs/apiLive.htm +++ b/api-docs/apiLive.htm @@ -5293,13 +5293,13 @@ GET https://DomainName/api/v1/loanproducts/{productId}

Create a Loan Product

Depending of the Accounting Rule (accountingRule) selected, - additional fields with details with the appropriate Ledger Account + additional fields with details of the appropriate Ledger Account identifiers would need to be passed in.

Refer MifosX Accounting Specs Draft for more details regarding the - significance of the selected accounting Rule + significance of the selected accounting rule

@@ -9665,7 +9665,7 @@ No Request Body: - + - @@ -9927,7 +9927,7 @@ Content-Type: application/json Request Body: { "officeId": 1, -"entryDate": "06 December 2012", +"transactionDate": "06 December 2012", "comments": "Gifts for staff", "locale": "en" , "dateFormat": "dd MMMM yyyy", @@ -9981,7 +9981,7 @@ GET https://DomainName/api/v1/journalentries/{entryId} "code": "accountType.income", "value": "INCOME" }, - "entryDate": [ + "transactionDate": [ 2012, 11, 2 diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/closure/api/GLClosureJsonInputParams.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/closure/api/GLClosureJsonInputParams.java index f97dfaaf9..d2c1dbd47 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/closure/api/GLClosureJsonInputParams.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/closure/api/GLClosureJsonInputParams.java @@ -17,7 +17,7 @@ public enum GLClosureJsonInputParams { private static final Set values = new HashSet(); static { - for (GLClosureJsonInputParams type : GLClosureJsonInputParams.values()) { + for (final GLClosureJsonInputParams type : GLClosureJsonInputParams.values()) { values.add(type.value); } } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/closure/api/GLClosuresApiResource.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/closure/api/GLClosuresApiResource.java index 85d6c9a1e..b71d79e4b 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/closure/api/GLClosuresApiResource.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/closure/api/GLClosuresApiResource.java @@ -51,8 +51,8 @@ public class GLClosuresApiResource { private final String resourceNameForPermission = "GLCLOSURE"; - private GLClosureReadPlatformService glClosureReadPlatformService; - private OfficeReadPlatformService officeReadPlatformService; + private final GLClosureReadPlatformService glClosureReadPlatformService; + private final OfficeReadPlatformService officeReadPlatformService; private final DefaultToApiJsonSerializer apiJsonSerializerService; private final ApiRequestParameterHelper apiRequestParameterHelper; private final PlatformSecurityContext context; @@ -76,10 +76,10 @@ public class GLClosuresApiResource { @Produces({ MediaType.APPLICATION_JSON }) public String retrieveAllClosures(@Context final UriInfo uriInfo, @QueryParam("officeId") final Long officeId) { - context.authenticatedUser().validateHasReadPermission(resourceNameForPermission); + this.context.authenticatedUser().validateHasReadPermission(this.resourceNameForPermission); final List glClosureDatas = this.glClosureReadPlatformService.retrieveAllGLClosures(officeId); - final ApiRequestJsonSerializationSettings settings = apiRequestParameterHelper.process(uriInfo.getQueryParameters()); + final ApiRequestJsonSerializationSettings settings = this.apiRequestParameterHelper.process(uriInfo.getQueryParameters()); return this.apiJsonSerializerService.serialize(settings, glClosureDatas, RESPONSE_DATA_PARAMETERS); } @@ -89,13 +89,13 @@ public class GLClosuresApiResource { @Produces({ MediaType.APPLICATION_JSON }) public String retreiveClosure(@PathParam("glClosureId") final Long glClosureId, @Context final UriInfo uriInfo) { - context.authenticatedUser().validateHasReadPermission(resourceNameForPermission); + this.context.authenticatedUser().validateHasReadPermission(this.resourceNameForPermission); - final ApiRequestJsonSerializationSettings settings = apiRequestParameterHelper.process(uriInfo.getQueryParameters()); + final ApiRequestJsonSerializationSettings settings = this.apiRequestParameterHelper.process(uriInfo.getQueryParameters()); final GLClosureData glClosureData = this.glClosureReadPlatformService.retrieveGLClosureById(glClosureId); if (settings.isTemplate()) { - glClosureData.setAllowedOffices(new ArrayList(officeReadPlatformService.retrieveAllOfficesForLookup())); + glClosureData.setAllowedOffices(new ArrayList(this.officeReadPlatformService.retrieveAllOfficesForLookup())); } return this.apiJsonSerializerService.serialize(settings, glClosureData, RESPONSE_DATA_PARAMETERS); diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/closure/command/GLClosureCommand.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/closure/command/GLClosureCommand.java index fe24a349b..7509bd4fb 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/closure/command/GLClosureCommand.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/closure/command/GLClosureCommand.java @@ -34,9 +34,9 @@ public class GLClosureCommand { public void validateForCreate() { - List dataValidationErrors = new ArrayList(); + final List dataValidationErrors = new ArrayList(); - DataValidatorBuilder baseDataValidator = new DataValidatorBuilder(dataValidationErrors).resource("GLClosure"); + final DataValidatorBuilder baseDataValidator = new DataValidatorBuilder(dataValidationErrors).resource("GLClosure"); baseDataValidator.reset().parameter(GLClosureJsonInputParams.CLOSING_DATE.getValue()).value(this.closingDate).notBlank(); baseDataValidator.reset().parameter(GLClosureJsonInputParams.OFFICE_ID.getValue()).value(this.officeId).notNull() @@ -49,9 +49,9 @@ public class GLClosureCommand { } public void validateForUpdate() { - List dataValidationErrors = new ArrayList(); + final List dataValidationErrors = new ArrayList(); - DataValidatorBuilder baseDataValidator = new DataValidatorBuilder(dataValidationErrors).resource("GLClosure"); + final DataValidatorBuilder baseDataValidator = new DataValidatorBuilder(dataValidationErrors).resource("GLClosure"); baseDataValidator.reset().parameter(GLClosureJsonInputParams.COMMENTS.getValue()).value(this.comments).ignoreIfNull() .notExceedingLengthOf(500); diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/closure/data/GLClosureData.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/closure/data/GLClosureData.java index 7e4339c15..400f56bdb 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/closure/data/GLClosureData.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/closure/data/GLClosureData.java @@ -46,9 +46,9 @@ public class GLClosureData { private List allowedOffices = new ArrayList(); - public GLClosureData(Long id, Long officeId, String officeName, LocalDate closingDate, boolean deleted, LocalDate createdDate, - LocalDate lastUpdatedDate, Long createdByUserId, String createdByUsername, Long lastUpdatedByUserId, - String lastUpdatedByUsername, String comments) { + public GLClosureData(final Long id, final Long officeId, final String officeName, final LocalDate closingDate, final boolean deleted, + final LocalDate createdDate, final LocalDate lastUpdatedDate, final Long createdByUserId, final String createdByUsername, + final Long lastUpdatedByUserId, final String lastUpdatedByUsername, final String comments) { this.id = id; this.officeId = officeId; this.officeName = officeName; @@ -68,7 +68,7 @@ public class GLClosureData { return this.allowedOffices; } - public void setAllowedOffices(List allowedOffices) { + public void setAllowedOffices(final List allowedOffices) { this.allowedOffices = allowedOffices; } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/closure/domain/GLClosure.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/closure/domain/GLClosure.java index e97bcfb5e..132d480c3 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/closure/domain/GLClosure.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/closure/domain/GLClosure.java @@ -44,7 +44,7 @@ public class GLClosure extends AbstractAuditableCustom { @Column(name = "comments", nullable = true, length = 500) private String comments; - public static GLClosure createNew(Office office, Date closingDate, String comments) { + public static GLClosure createNew(final Office office, final Date closingDate, final String comments) { return new GLClosure(office, closingDate, comments); } @@ -52,7 +52,7 @@ public class GLClosure extends AbstractAuditableCustom { // } - public GLClosure(Office office, Date closingDate, String comments) { + public GLClosure(final Office office, final Date closingDate, final String comments) { this.office = office; this.deleted = false; this.closingDate = closingDate; @@ -62,9 +62,9 @@ public class GLClosure extends AbstractAuditableCustom { } } - public static GLClosure fromJson(Office office, final JsonCommand command) { - Date closingDate = command.DateValueOfParameterNamed(GLClosureJsonInputParams.CLOSING_DATE.getValue()); - String comments = command.stringValueOfParameterNamed(GLClosureJsonInputParams.COMMENTS.getValue()); + public static GLClosure fromJson(final Office office, final JsonCommand command) { + final Date closingDate = command.DateValueOfParameterNamed(GLClosureJsonInputParams.CLOSING_DATE.getValue()); + final String comments = command.stringValueOfParameterNamed(GLClosureJsonInputParams.COMMENTS.getValue()); return new GLClosure(office, closingDate, comments); } @@ -75,7 +75,7 @@ public class GLClosure extends AbstractAuditableCustom { } private void handlePropertyUpdate(final JsonCommand command, final Map actualChanges, final String paramName, - String propertyToBeUpdated) { + final String propertyToBeUpdated) { if (command.isChangeInStringParameterNamed(paramName, propertyToBeUpdated)) { final String newValue = command.stringValueOfParameterNamed(paramName); actualChanges.put(paramName, newValue); diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/closure/exception/GLClosureInvalidDeleteException.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/closure/exception/GLClosureInvalidDeleteException.java index bc21565dc..90e3354c1 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/closure/exception/GLClosureInvalidDeleteException.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/closure/exception/GLClosureInvalidDeleteException.java @@ -15,7 +15,7 @@ import org.mifosplatform.infrastructure.core.exception.AbstractPlatformDomainRul public class GLClosureInvalidDeleteException extends AbstractPlatformDomainRuleException { public GLClosureInvalidDeleteException(final Long officeId, final String officeName, final Date latestclosureDate) { - super("error.msg.glclosure.invalid.delete", "The latest closure for office with Id " + officeId + " and name " + officeName + " is on " - + latestclosureDate.toString() + ", please delete this closure first", latestclosureDate); + super("error.msg.glclosure.invalid.delete", "The latest closure for office with Id " + officeId + " and name " + officeName + + " is on " + latestclosureDate.toString() + ", please delete this closure first", latestclosureDate); } } \ No newline at end of file diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/closure/serialization/GLClosureCommandFromApiJsonDeserializer.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/closure/serialization/GLClosureCommandFromApiJsonDeserializer.java index c579d196d..609ee1b9e 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/closure/serialization/GLClosureCommandFromApiJsonDeserializer.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/closure/serialization/GLClosureCommandFromApiJsonDeserializer.java @@ -39,20 +39,20 @@ public final class GLClosureCommandFromApiJsonDeserializer extends AbstractFromA } @Override - public GLClosureCommand commandFromApiJson(String json) { + public GLClosureCommand commandFromApiJson(final String json) { if (StringUtils.isBlank(json)) { throw new InvalidJsonException(); } final Type typeOfMap = new TypeToken>() {}.getType(); - Set supportedParameters = GLClosureJsonInputParams.getAllValues(); - fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, supportedParameters); + final Set supportedParameters = GLClosureJsonInputParams.getAllValues(); + this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, supportedParameters); - final JsonElement element = fromApiJsonHelper.parse(json); + final JsonElement element = this.fromApiJsonHelper.parse(json); - final Long id = fromApiJsonHelper.extractLongNamed(GLClosureJsonInputParams.ID.getValue(), element); - final Long officeId = fromApiJsonHelper.extractLongNamed(GLClosureJsonInputParams.OFFICE_ID.getValue(), element); - final String comments = fromApiJsonHelper.extractStringNamed(GLClosureJsonInputParams.COMMENTS.getValue(), element); - final LocalDate closingDate = fromApiJsonHelper - .extractLocalDateNamed(GLClosureJsonInputParams.CLOSING_DATE.getValue(), element); + final Long id = this.fromApiJsonHelper.extractLongNamed(GLClosureJsonInputParams.ID.getValue(), element); + final Long officeId = this.fromApiJsonHelper.extractLongNamed(GLClosureJsonInputParams.OFFICE_ID.getValue(), element); + final String comments = this.fromApiJsonHelper.extractStringNamed(GLClosureJsonInputParams.COMMENTS.getValue(), element); + final LocalDate closingDate = this.fromApiJsonHelper.extractLocalDateNamed(GLClosureJsonInputParams.CLOSING_DATE.getValue(), + element); return new GLClosureCommand(id, officeId, closingDate, comments); } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/closure/service/GLClosureReadPlatformServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/closure/service/GLClosureReadPlatformServiceImpl.java index 52df450d8..051ecbca9 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/closure/service/GLClosureReadPlatformServiceImpl.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/closure/service/GLClosureReadPlatformServiceImpl.java @@ -46,18 +46,18 @@ public class GLClosureReadPlatformServiceImpl implements GLClosureReadPlatformSe @Override public GLClosureData mapRow(final ResultSet rs, @SuppressWarnings("unused") final int rowNum) throws SQLException { - Long id = rs.getLong("id"); - Long officeId = rs.getLong("officeId"); - String officeName = rs.getString("officeName"); - LocalDate closingDate = JdbcSupport.getLocalDate(rs, "closingDate"); - Boolean deleted = rs.getBoolean("isDeleted"); - LocalDate createdDate = JdbcSupport.getLocalDate(rs, "createdDate"); - LocalDate lastUpdatedDate = JdbcSupport.getLocalDate(rs, "updatedDate"); - Long creatingByUserId = rs.getLong("creatingUserId"); - String createdByUserName = rs.getString("creatingUserName"); - Long lastUpdatedByUserId = rs.getLong("updatingUserId"); - String lastUpdatedByUserName = rs.getString("updatingUserName"); - String comments = rs.getString("comments"); + final Long id = rs.getLong("id"); + final Long officeId = rs.getLong("officeId"); + final String officeName = rs.getString("officeName"); + final LocalDate closingDate = JdbcSupport.getLocalDate(rs, "closingDate"); + final Boolean deleted = rs.getBoolean("isDeleted"); + final LocalDate createdDate = JdbcSupport.getLocalDate(rs, "createdDate"); + final LocalDate lastUpdatedDate = JdbcSupport.getLocalDate(rs, "updatedDate"); + final Long creatingByUserId = rs.getLong("creatingUserId"); + final String createdByUserName = rs.getString("creatingUserName"); + final Long lastUpdatedByUserId = rs.getLong("updatingUserId"); + final String lastUpdatedByUserName = rs.getString("updatingUserName"); + final String comments = rs.getString("comments"); return new GLClosureData(id, officeId, officeName, closingDate, deleted, createdDate, lastUpdatedDate, creatingByUserId, createdByUserName, lastUpdatedByUserId, lastUpdatedByUserName, comments); @@ -65,11 +65,11 @@ public class GLClosureReadPlatformServiceImpl implements GLClosureReadPlatformSe } @Override - public List retrieveAllGLClosures(Long officeId) { - GLClosureMapper rm = new GLClosureMapper(); + public List retrieveAllGLClosures(final Long officeId) { + final GLClosureMapper rm = new GLClosureMapper(); String sql = "select " + rm.schema() + " and glClosure.is_deleted = 0"; - Object[] objectArray = new Object[1]; + final Object[] objectArray = new Object[1]; int arrayPos = 0; if (officeId != null && officeId != 0) { sql += " and glClosure.office_id = ?"; @@ -79,21 +79,21 @@ public class GLClosureReadPlatformServiceImpl implements GLClosureReadPlatformSe sql = sql + " order by glClosure.closing_date desc"; - Object[] finalObjectArray = Arrays.copyOf(objectArray, arrayPos); + final Object[] finalObjectArray = Arrays.copyOf(objectArray, arrayPos); return this.jdbcTemplate.query(sql, rm, finalObjectArray); } @Override - public GLClosureData retrieveGLClosureById(long glClosureId) { + public GLClosureData retrieveGLClosureById(final long glClosureId) { try { - GLClosureMapper rm = new GLClosureMapper(); - String sql = "select " + rm.schema() + " and glClosure.id = ?"; + final GLClosureMapper rm = new GLClosureMapper(); + final String sql = "select " + rm.schema() + " and glClosure.id = ?"; - GLClosureData glAccountData = this.jdbcTemplate.queryForObject(sql, rm, new Object[] { glClosureId }); + final GLClosureData glAccountData = this.jdbcTemplate.queryForObject(sql, rm, new Object[] { glClosureId }); return glAccountData; - } catch (EmptyResultDataAccessException e) { + } catch (final EmptyResultDataAccessException e) { throw new GLClosureNotFoundException(glClosureId); } } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/closure/service/GLClosureWritePlatformServiceJpaRepositoryImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/closure/service/GLClosureWritePlatformServiceJpaRepositoryImpl.java index 5cf49fc78..f6964cfd3 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/closure/service/GLClosureWritePlatformServiceJpaRepositoryImpl.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/closure/service/GLClosureWritePlatformServiceJpaRepositoryImpl.java @@ -44,7 +44,7 @@ public class GLClosureWritePlatformServiceJpaRepositoryImpl implements GLClosure @Autowired public GLClosureWritePlatformServiceJpaRepositoryImpl(final GLClosureRepository glClosureRepository, - final OfficeRepository officeRepository, GLClosureCommandFromApiJsonDeserializer fromApiJsonDeserializer) { + final OfficeRepository officeRepository, final GLClosureCommandFromApiJsonDeserializer fromApiJsonDeserializer) { this.glClosureRepository = glClosureRepository; this.officeRepository = officeRepository; this.fromApiJsonDeserializer = fromApiJsonDeserializer; @@ -52,7 +52,7 @@ public class GLClosureWritePlatformServiceJpaRepositoryImpl implements GLClosure @Transactional @Override - public CommandProcessingResult createGLClosure(JsonCommand command) { + public CommandProcessingResult createGLClosure(final JsonCommand command) { try { final GLClosureCommand closureCommand = this.fromApiJsonDeserializer.commandFromApiJson(command.json()); closureCommand.validateForCreate(); @@ -64,22 +64,22 @@ public class GLClosureWritePlatformServiceJpaRepositoryImpl implements GLClosure // TODO: Get Tenant specific date // ensure closure date is not in the future - Date todaysDate = new Date(); - Date closureDate = command.DateValueOfParameterNamed(GLClosureJsonInputParams.CLOSING_DATE.getValue()); + final Date todaysDate = new Date(); + final Date closureDate = command.DateValueOfParameterNamed(GLClosureJsonInputParams.CLOSING_DATE.getValue()); if (closureDate.after(todaysDate)) { throw new GLClosureInvalidException(GL_CLOSURE_INVALID_REASON.FUTURE_DATE, closureDate); } // shouldn't be before an existing accounting closure - GLClosure latestGLClosure = glClosureRepository.getLatestGLClosureByBranch(officeId); + final GLClosure latestGLClosure = this.glClosureRepository.getLatestGLClosureByBranch(officeId); if (latestGLClosure != null) { if (latestGLClosure.getClosingDate().after(closureDate)) { throw new GLClosureInvalidException( GL_CLOSURE_INVALID_REASON.ACCOUNTING_CLOSED, latestGLClosure.getClosingDate()); } } - GLClosure glClosure = GLClosure.fromJson(office, command); + final GLClosure glClosure = GLClosure.fromJson(office, command); this.glClosureRepository.saveAndFlush(glClosure); return new CommandProcessingResultBuilder().withCommandId(command.commandId()).withOfficeId(officeId) .withEntityId(glClosure.getId()).build(); - } catch (DataIntegrityViolationException dve) { + } catch (final DataIntegrityViolationException dve) { handleGLClosureIntegrityIssues(command, dve); return CommandProcessingResult.empty(); } @@ -87,12 +87,12 @@ public class GLClosureWritePlatformServiceJpaRepositoryImpl implements GLClosure @Transactional @Override - public CommandProcessingResult updateGLClosure(Long glClosureId, JsonCommand command) { + public CommandProcessingResult updateGLClosure(final Long glClosureId, final JsonCommand command) { final GLClosureCommand closureCommand = this.fromApiJsonDeserializer.commandFromApiJson(command.json()); closureCommand.validateForUpdate(); // is the glClosure valid - GLClosure glClosure = glClosureRepository.findOne(glClosureId); + final GLClosure glClosure = this.glClosureRepository.findOne(glClosureId); if (glClosure == null) { throw new GLClosureNotFoundException(glClosureId); } final Map changesOnly = glClosure.update(command); @@ -107,7 +107,7 @@ public class GLClosureWritePlatformServiceJpaRepositoryImpl implements GLClosure @Transactional @Override - public CommandProcessingResult deleteGLClosure(Long glClosureId) { + public CommandProcessingResult deleteGLClosure(final Long glClosureId) { final GLClosure glClosure = this.glClosureRepository.findOne(glClosureId); if (glClosure == null) { throw new GLClosureNotFoundException(glClosureId); } @@ -116,8 +116,8 @@ public class GLClosureWritePlatformServiceJpaRepositoryImpl implements GLClosure * check if any closures are present for this branch at a later date * than this closure date **/ - Date closureDate = glClosure.getClosingDate(); - GLClosure latestGLClosure = glClosureRepository.getLatestGLClosureByBranch(glClosure.getOffice().getId()); + final Date closureDate = glClosure.getClosingDate(); + final GLClosure latestGLClosure = this.glClosureRepository.getLatestGLClosureByBranch(glClosure.getOffice().getId()); if (latestGLClosure.getClosingDate().after(closureDate)) { throw new GLClosureInvalidDeleteException(latestGLClosure.getOffice() .getId(), latestGLClosure.getOffice().getName(), latestGLClosure.getClosingDate()); } @@ -130,8 +130,8 @@ public class GLClosureWritePlatformServiceJpaRepositoryImpl implements GLClosure * @param command * @param dve */ - private void handleGLClosureIntegrityIssues(final JsonCommand command, DataIntegrityViolationException dve) { - Throwable realCause = dve.getMostSpecificCause(); + private void handleGLClosureIntegrityIssues(final JsonCommand command, final DataIntegrityViolationException dve) { + final Throwable realCause = dve.getMostSpecificCause(); if (realCause.getMessage().contains("office_id_closing_date")) { throw new GLClosureDuplicateException( command.longValueOfParameterNamed(GLClosureJsonInputParams.OFFICE_ID.getValue()), new LocalDate( command.DateValueOfParameterNamed(GLClosureJsonInputParams.CLOSING_DATE.getValue()))); } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/common/AccountingConstants.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/common/AccountingConstants.java index 2cd36a005..2353c00d9 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/common/AccountingConstants.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/common/AccountingConstants.java @@ -31,13 +31,13 @@ public class AccountingConstants { private static final Map intToEnumMap = new HashMap(); static { - for (CASH_ACCOUNTS_FOR_LOAN type : CASH_ACCOUNTS_FOR_LOAN.values()) { + for (final CASH_ACCOUNTS_FOR_LOAN type : CASH_ACCOUNTS_FOR_LOAN.values()) { intToEnumMap.put(type.value, type); } } - public static CASH_ACCOUNTS_FOR_LOAN fromInt(int i) { - CASH_ACCOUNTS_FOR_LOAN type = intToEnumMap.get(Integer.valueOf(i)); + public static CASH_ACCOUNTS_FOR_LOAN fromInt(final int i) { + final CASH_ACCOUNTS_FOR_LOAN type = intToEnumMap.get(Integer.valueOf(i)); return type; } } @@ -64,13 +64,13 @@ public class AccountingConstants { private static final Map intToEnumMap = new HashMap(); static { - for (ACCRUAL_ACCOUNTS_FOR_LOAN type : ACCRUAL_ACCOUNTS_FOR_LOAN.values()) { + for (final ACCRUAL_ACCOUNTS_FOR_LOAN type : ACCRUAL_ACCOUNTS_FOR_LOAN.values()) { intToEnumMap.put(type.value, type); } } - public static ACCRUAL_ACCOUNTS_FOR_LOAN fromInt(int i) { - ACCRUAL_ACCOUNTS_FOR_LOAN type = intToEnumMap.get(Integer.valueOf(i)); + public static ACCRUAL_ACCOUNTS_FOR_LOAN fromInt(final int i) { + final ACCRUAL_ACCOUNTS_FOR_LOAN type = intToEnumMap.get(Integer.valueOf(i)); return type; } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/common/AccountingEnumerations.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/common/AccountingEnumerations.java index 294967785..748a8cb41 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/common/AccountingEnumerations.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/common/AccountingEnumerations.java @@ -21,13 +21,14 @@ public class AccountingEnumerations { } public static EnumOptionData gLAccountType(final GLAccountType accountType) { - EnumOptionData optionData = new EnumOptionData(accountType.getValue().longValue(), accountType.getCode(), accountType.toString()); + final EnumOptionData optionData = new EnumOptionData(accountType.getValue().longValue(), accountType.getCode(), + accountType.toString()); return optionData; } - public static List gLAccountType(GLAccountType[] accountTypes) { - List optionDatas = new ArrayList(); - for (GLAccountType accountType : accountTypes) { + public static List gLAccountType(final GLAccountType[] accountTypes) { + final List optionDatas = new ArrayList(); + for (final GLAccountType accountType : accountTypes) { optionDatas.add(gLAccountType(accountType)); } return optionDatas; @@ -38,13 +39,14 @@ public class AccountingEnumerations { } public static EnumOptionData gLAccountUsage(final GLAccountUsage accountUsage) { - EnumOptionData optionData = new EnumOptionData(accountUsage.getValue().longValue(), accountUsage.getCode(), accountUsage.toString()); + final EnumOptionData optionData = new EnumOptionData(accountUsage.getValue().longValue(), accountUsage.getCode(), + accountUsage.toString()); return optionData; } - public static List gLAccountUsage(GLAccountUsage[] accountUsages) { - List optionDatas = new ArrayList(); - for (GLAccountUsage accountUsage : accountUsages) { + public static List gLAccountUsage(final GLAccountUsage[] accountUsages) { + final List optionDatas = new ArrayList(); + for (final GLAccountUsage accountUsage : accountUsages) { optionDatas.add(gLAccountUsage(accountUsage)); } return optionDatas; @@ -55,14 +57,14 @@ public class AccountingEnumerations { } public static EnumOptionData journalEntryType(final JournalEntryType journalEntryType) { - EnumOptionData optionData = new EnumOptionData(journalEntryType.getValue().longValue(), journalEntryType.getCode(), + final EnumOptionData optionData = new EnumOptionData(journalEntryType.getValue().longValue(), journalEntryType.getCode(), journalEntryType.toString()); return optionData; } - public static List journalEntryTypes(JournalEntryType[] journalEntryTypes) { - List optionDatas = new ArrayList(); - for (JournalEntryType journalEntryType : journalEntryTypes) { + public static List journalEntryTypes(final JournalEntryType[] journalEntryTypes) { + final List optionDatas = new ArrayList(); + for (final JournalEntryType journalEntryType : journalEntryTypes) { optionDatas.add(journalEntryType(journalEntryType)); } return optionDatas; @@ -73,7 +75,7 @@ public class AccountingEnumerations { } public static EnumOptionData portfolioProductType(final PortfolioProductType portfolioProductType) { - EnumOptionData optionData = new EnumOptionData(portfolioProductType.getValue().longValue(), portfolioProductType.getCode(), + final EnumOptionData optionData = new EnumOptionData(portfolioProductType.getValue().longValue(), portfolioProductType.getCode(), portfolioProductType.toString()); return optionData; } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/api/GLAccountJsonInputParams.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/api/GLAccountJsonInputParams.java index 65c51542f..98057e45c 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/api/GLAccountJsonInputParams.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/api/GLAccountJsonInputParams.java @@ -7,8 +7,8 @@ import java.util.Set; * Enum of all parameters passed in while creating/updating a loan product ***/ public enum GLAccountJsonInputParams { - ID("id"), NAME("name"), PARENT_ID("parentId"), GL_CODE("glCode"), DISABLED("disabled"), MANUAL_ENTRIES_ALLOWED( - "manualEntriesAllowed"), TYPE("type"), USAGE("usage"), DESCRIPTION("description"); + ID("id"), NAME("name"), PARENT_ID("parentId"), GL_CODE("glCode"), DISABLED("disabled"), MANUAL_ENTRIES_ALLOWED("manualEntriesAllowed"), TYPE( + "type"), USAGE("usage"), DESCRIPTION("description"); private final String value; @@ -18,7 +18,7 @@ public enum GLAccountJsonInputParams { private static final Set values = new HashSet(); static { - for (GLAccountJsonInputParams type : GLAccountJsonInputParams.values()) { + for (final GLAccountJsonInputParams type : GLAccountJsonInputParams.values()) { values.add(type.value); } } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/api/GLAccountsApiResource.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/api/GLAccountsApiResource.java index af669095a..ce6d5a91a 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/api/GLAccountsApiResource.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/api/GLAccountsApiResource.java @@ -49,8 +49,8 @@ public class GLAccountsApiResource { private final String resourceNameForPermission = "GLACCOUNT"; - private GLAccountReadPlatformService glAccountReadPlatformService; - private AccountingDropdownReadPlatformService dropdownReadPlatformService; + private final GLAccountReadPlatformService glAccountReadPlatformService; + private final AccountingDropdownReadPlatformService dropdownReadPlatformService; private final DefaultToApiJsonSerializer apiJsonSerializerService; private final ApiRequestParameterHelper apiRequestParameterHelper; private final PlatformSecurityContext context; @@ -75,12 +75,12 @@ public class GLAccountsApiResource { @Produces({ MediaType.APPLICATION_JSON }) public String retrieveNewAccountDetails(@Context final UriInfo uriInfo) { - context.authenticatedUser().validateHasReadPermission(resourceNameForPermission); + this.context.authenticatedUser().validateHasReadPermission(this.resourceNameForPermission); GLAccountData glAccountData = this.glAccountReadPlatformService.retrieveNewGLAccountDetails(); glAccountData = handleTemplate(glAccountData); - final ApiRequestJsonSerializationSettings settings = apiRequestParameterHelper.process(uriInfo.getQueryParameters()); + final ApiRequestJsonSerializationSettings settings = this.apiRequestParameterHelper.process(uriInfo.getQueryParameters()); return this.apiJsonSerializerService.serialize(settings, glAccountData, RESPONSE_DATA_PARAMETERS); } @@ -91,11 +91,11 @@ public class GLAccountsApiResource { @QueryParam("searchParam") final String searchParam, @QueryParam("usage") final Integer usage, @QueryParam("manualEntriesAllowed") final Boolean manualEntriesAllowed, @QueryParam("disabled") final Boolean disabled) { - context.authenticatedUser().validateHasReadPermission(resourceNameForPermission); + this.context.authenticatedUser().validateHasReadPermission(this.resourceNameForPermission); final List glAccountDatas = this.glAccountReadPlatformService.retrieveAllGLAccounts(type, searchParam, usage, manualEntriesAllowed, disabled); - final ApiRequestJsonSerializationSettings settings = apiRequestParameterHelper.process(uriInfo.getQueryParameters()); + final ApiRequestJsonSerializationSettings settings = this.apiRequestParameterHelper.process(uriInfo.getQueryParameters()); return this.apiJsonSerializerService.serialize(settings, glAccountDatas, RESPONSE_DATA_PARAMETERS); } @@ -105,9 +105,9 @@ public class GLAccountsApiResource { @Produces({ MediaType.APPLICATION_JSON }) public String retreiveAccount(@PathParam("glAccountId") final Long glAccountId, @Context final UriInfo uriInfo) { - context.authenticatedUser().validateHasReadPermission(resourceNameForPermission); + this.context.authenticatedUser().validateHasReadPermission(this.resourceNameForPermission); - final ApiRequestJsonSerializationSettings settings = apiRequestParameterHelper.process(uriInfo.getQueryParameters()); + final ApiRequestJsonSerializationSettings settings = this.apiRequestParameterHelper.process(uriInfo.getQueryParameters()); GLAccountData glAccountData = this.glAccountReadPlatformService.retrieveGLAccountById(glAccountId); if (settings.isTemplate()) { @@ -155,9 +155,9 @@ public class GLAccountsApiResource { return this.apiJsonSerializerService.serialize(result); } - private GLAccountData handleTemplate(GLAccountData glAccountData) { - List accountTypeOptions = dropdownReadPlatformService.retrieveGLAccountTypeOptions(); - List usageOptions = dropdownReadPlatformService.retrieveGLAccountUsageOptions(); + private GLAccountData handleTemplate(final GLAccountData glAccountData) { + final List accountTypeOptions = this.dropdownReadPlatformService.retrieveGLAccountTypeOptions(); + final List usageOptions = this.dropdownReadPlatformService.retrieveGLAccountUsageOptions(); return new GLAccountData(glAccountData, accountTypeOptions, usageOptions); } } \ No newline at end of file diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/command/GLAccountCommand.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/command/GLAccountCommand.java index 50b00a0f7..f279ed9b9 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/command/GLAccountCommand.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/command/GLAccountCommand.java @@ -46,12 +46,11 @@ public class GLAccountCommand { public void validateForCreate() { - List dataValidationErrors = new ArrayList(); + final List dataValidationErrors = new ArrayList(); - DataValidatorBuilder baseDataValidator = new DataValidatorBuilder(dataValidationErrors).resource("GLAccount"); + final DataValidatorBuilder baseDataValidator = new DataValidatorBuilder(dataValidationErrors).resource("GLAccount"); - baseDataValidator.reset().parameter(GLAccountJsonInputParams.NAME.getValue()).value(this.name).notBlank() - .notExceedingLengthOf(45); + baseDataValidator.reset().parameter(GLAccountJsonInputParams.NAME.getValue()).value(this.name).notBlank().notExceedingLengthOf(45); baseDataValidator.reset().parameter(GLAccountJsonInputParams.GL_CODE.getValue()).value(this.glCode).notBlank() .notExceedingLengthOf(45); @@ -68,17 +67,17 @@ public class GLAccountCommand { baseDataValidator.reset().parameter(GLAccountJsonInputParams.DESCRIPTION.getValue()).value(this.description).ignoreIfNull() .notExceedingLengthOf(500); - baseDataValidator.reset().parameter(GLAccountJsonInputParams.MANUAL_ENTRIES_ALLOWED.getValue()) - .value(this.manualEntriesAllowed).notBlank(); + baseDataValidator.reset().parameter(GLAccountJsonInputParams.MANUAL_ENTRIES_ALLOWED.getValue()).value(this.manualEntriesAllowed) + .notBlank(); if (!dataValidationErrors.isEmpty()) { throw new PlatformApiDataValidationException("validation.msg.validation.errors.exist", "Validation errors exist.", dataValidationErrors); } } public void validateForUpdate() { - List dataValidationErrors = new ArrayList(); + final List dataValidationErrors = new ArrayList(); - DataValidatorBuilder baseDataValidator = new DataValidatorBuilder(dataValidationErrors).resource("GLAccount"); + final DataValidatorBuilder baseDataValidator = new DataValidatorBuilder(dataValidationErrors).resource("GLAccount"); baseDataValidator.reset().parameter(GLAccountJsonInputParams.NAME.getValue()).value(this.name).ignoreIfNull().notBlank() .notExceedingLengthOf(45); diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/data/GLAccountData.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/data/GLAccountData.java index 2e66fda11..e3368f80b 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/data/GLAccountData.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/data/GLAccountData.java @@ -49,7 +49,8 @@ public class GLAccountData { this.usageOptions = null; } - public GLAccountData(GLAccountData accountData, List accountTypeOptions, List usageOptions) { + public GLAccountData(final GLAccountData accountData, final List accountTypeOptions, + final List usageOptions) { this.id = accountData.id; this.name = accountData.name; this.parentId = accountData.parentId; diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/data/LoanTransactionDTO.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/data/LoanTransactionDTO.java index b9bb4f62b..c32c1a5f7 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/data/LoanTransactionDTO.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/data/LoanTransactionDTO.java @@ -27,9 +27,9 @@ public class LoanTransactionDTO { private boolean contra; private boolean writeOff; - public LoanTransactionDTO(String transactionId, Date transactionDate, BigDecimal amount, BigDecimal principal, BigDecimal interest, - BigDecimal fees, BigDecimal penalties, boolean disbursement, boolean repayment, boolean repaymentAtDisbursement, - boolean contra, boolean writeOff) { + public LoanTransactionDTO(final String transactionId, final Date transactionDate, final BigDecimal amount, final BigDecimal principal, + final BigDecimal interest, final BigDecimal fees, final BigDecimal penalties, final boolean disbursement, + final boolean repayment, final boolean repaymentAtDisbursement, final boolean contra, final boolean writeOff) { this.transactionId = transactionId; this.transactionDate = transactionDate; this.amount = amount; @@ -48,7 +48,7 @@ public class LoanTransactionDTO { return this.transactionDate; } - public void setTransactionDate(Date transactionDate) { + public void setTransactionDate(final Date transactionDate) { this.transactionDate = transactionDate; } @@ -56,7 +56,7 @@ public class LoanTransactionDTO { return this.transactionId; } - public void setTransactionId(String transactionId) { + public void setTransactionId(final String transactionId) { this.transactionId = transactionId; } @@ -64,7 +64,7 @@ public class LoanTransactionDTO { return this.amount; } - public void setAmount(BigDecimal amount) { + public void setAmount(final BigDecimal amount) { this.amount = amount; } @@ -72,7 +72,7 @@ public class LoanTransactionDTO { return this.principal; } - public void setPrincipal(BigDecimal principal) { + public void setPrincipal(final BigDecimal principal) { this.principal = principal; } @@ -80,7 +80,7 @@ public class LoanTransactionDTO { return this.interest; } - public void setInterest(BigDecimal interest) { + public void setInterest(final BigDecimal interest) { this.interest = interest; } @@ -88,7 +88,7 @@ public class LoanTransactionDTO { return this.fees; } - public void setFees(BigDecimal fees) { + public void setFees(final BigDecimal fees) { this.fees = fees; } @@ -96,7 +96,7 @@ public class LoanTransactionDTO { return this.penalties; } - public void setPenalties(BigDecimal penalties) { + public void setPenalties(final BigDecimal penalties) { this.penalties = penalties; } @@ -104,7 +104,7 @@ public class LoanTransactionDTO { return this.disbursement; } - public void setDisbursement(boolean disbursement) { + public void setDisbursement(final boolean disbursement) { this.disbursement = disbursement; } @@ -112,7 +112,7 @@ public class LoanTransactionDTO { return this.repayment; } - public void setRepayment(boolean repayment) { + public void setRepayment(final boolean repayment) { this.repayment = repayment; } @@ -120,7 +120,7 @@ public class LoanTransactionDTO { return this.contra; } - public void setContra(boolean contra) { + public void setContra(final boolean contra) { this.contra = contra; } @@ -128,7 +128,7 @@ public class LoanTransactionDTO { return this.writeOff; } - public void setWriteOff(boolean writeOff) { + public void setWriteOff(final boolean writeOff) { this.writeOff = writeOff; } @@ -136,7 +136,7 @@ public class LoanTransactionDTO { return this.repaymentAtDisbursement; } - public void setRepaymentAtDisbursement(boolean repaymentAtDisbursement) { + public void setRepaymentAtDisbursement(final boolean repaymentAtDisbursement) { this.repaymentAtDisbursement = repaymentAtDisbursement; } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/domain/GLAccount.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/domain/GLAccount.java index 15e37f218..de667ad1f 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/domain/GLAccount.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/domain/GLAccount.java @@ -36,7 +36,7 @@ public class GLAccount extends AbstractPersistable { @OneToMany(fetch = FetchType.LAZY) @JoinColumn(name = "parent_id") - private List children = new LinkedList(); + private final List children = new LinkedList(); @Column(name = "name", nullable = false, length = 45) private String name; @@ -80,15 +80,15 @@ public class GLAccount extends AbstractPersistable { this.parent = parent; } - public static GLAccount fromJson(GLAccount parent, final JsonCommand command) { - String name = command.stringValueOfParameterNamed(GLAccountJsonInputParams.NAME.getValue()); - String glCode = command.stringValueOfParameterNamed(GLAccountJsonInputParams.GL_CODE.getValue()); - boolean disabled = command.booleanPrimitiveValueOfParameterNamed(GLAccountJsonInputParams.DISABLED.getValue()); - boolean manualEntriesAllowed = command.booleanPrimitiveValueOfParameterNamed(GLAccountJsonInputParams.MANUAL_ENTRIES_ALLOWED + public static GLAccount fromJson(final GLAccount parent, final JsonCommand command) { + final String name = command.stringValueOfParameterNamed(GLAccountJsonInputParams.NAME.getValue()); + final String glCode = command.stringValueOfParameterNamed(GLAccountJsonInputParams.GL_CODE.getValue()); + final boolean disabled = command.booleanPrimitiveValueOfParameterNamed(GLAccountJsonInputParams.DISABLED.getValue()); + final boolean manualEntriesAllowed = command.booleanPrimitiveValueOfParameterNamed(GLAccountJsonInputParams.MANUAL_ENTRIES_ALLOWED .getValue()); - Integer usage = command.integerValueSansLocaleOfParameterNamed(GLAccountJsonInputParams.USAGE.getValue()); - Integer type = command.integerValueSansLocaleOfParameterNamed(GLAccountJsonInputParams.TYPE.getValue()); - String description = command.stringValueOfParameterNamed(GLAccountJsonInputParams.DESCRIPTION.getValue()); + final Integer usage = command.integerValueSansLocaleOfParameterNamed(GLAccountJsonInputParams.USAGE.getValue()); + final Integer type = command.integerValueSansLocaleOfParameterNamed(GLAccountJsonInputParams.TYPE.getValue()); + final String description = command.stringValueOfParameterNamed(GLAccountJsonInputParams.DESCRIPTION.getValue()); return new GLAccount(parent, name, glCode, disabled, manualEntriesAllowed, type, usage, description); } @@ -106,7 +106,7 @@ public class GLAccount extends AbstractPersistable { } private void handlePropertyUpdate(final JsonCommand command, final Map actualChanges, final String paramName, - Integer propertyToBeUpdated, boolean sansLocale) { + final Integer propertyToBeUpdated, final boolean sansLocale) { boolean changeDetected = false; if (sansLocale) { changeDetected = command.isChangeInIntegerSansLocaleParameterNamed(paramName, propertyToBeUpdated); @@ -131,7 +131,7 @@ public class GLAccount extends AbstractPersistable { } private void handlePropertyUpdate(final JsonCommand command, final Map actualChanges, final String paramName, - String propertyToBeUpdated) { + final String propertyToBeUpdated) { if (command.isChangeInStringParameterNamed(paramName, propertyToBeUpdated)) { final String newValue = command.stringValueOfParameterNamed(paramName); actualChanges.put(paramName, newValue); @@ -147,7 +147,7 @@ public class GLAccount extends AbstractPersistable { } private void handlePropertyUpdate(final JsonCommand command, final Map actualChanges, final String paramName, - Long propertyToBeUpdated) { + final Long propertyToBeUpdated) { if (command.isChangeInLongParameterNamed(paramName, propertyToBeUpdated)) { final Long newValue = command.longValueOfParameterNamed(paramName); actualChanges.put(paramName, newValue); @@ -159,7 +159,7 @@ public class GLAccount extends AbstractPersistable { } private void handlePropertyUpdate(final JsonCommand command, final Map actualChanges, final String paramName, - boolean propertyToBeUpdated) { + final boolean propertyToBeUpdated) { if (command.isChangeInBooleanParameterNamed(paramName, propertyToBeUpdated)) { final Boolean newValue = command.booleanObjectValueOfParameterNamed(paramName); actualChanges.put(paramName, newValue); diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/domain/GLAccountType.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/domain/GLAccountType.java index fb5855076..57275e1b5 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/domain/GLAccountType.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/domain/GLAccountType.java @@ -25,7 +25,7 @@ public enum GLAccountType { } public String getCode() { - return code; + return this.code; } private static final Map intToEnumMap = new HashMap(); @@ -33,7 +33,7 @@ public enum GLAccountType { private static int maxValue; static { int i = 0; - for (GLAccountType type : GLAccountType.values()) { + for (final GLAccountType type : GLAccountType.values()) { if (i == 0) { minValue = type.value; } @@ -48,8 +48,8 @@ public enum GLAccountType { } } - public static GLAccountType fromInt(int i) { - GLAccountType type = intToEnumMap.get(Integer.valueOf(i)); + public static GLAccountType fromInt(final int i) { + final GLAccountType type = intToEnumMap.get(Integer.valueOf(i)); return type; } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/domain/GLAccountUsage.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/domain/GLAccountUsage.java index 67db7b158..f22822afd 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/domain/GLAccountUsage.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/domain/GLAccountUsage.java @@ -25,7 +25,7 @@ public enum GLAccountUsage { } public String getCode() { - return code; + return this.code; } private static final Map intToEnumMap = new HashMap(); @@ -33,7 +33,7 @@ public enum GLAccountUsage { private static int maxValue; static { int i = 0; - for (GLAccountUsage type : GLAccountUsage.values()) { + for (final GLAccountUsage type : GLAccountUsage.values()) { if (i == 0) { minValue = type.value; } @@ -48,8 +48,8 @@ public enum GLAccountUsage { } } - public static GLAccountUsage fromInt(int i) { - GLAccountUsage type = intToEnumMap.get(Integer.valueOf(i)); + public static GLAccountUsage fromInt(final int i) { + final GLAccountUsage type = intToEnumMap.get(Integer.valueOf(i)); return type; } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/exception/GLAccountInvalidParentException.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/exception/GLAccountInvalidParentException.java index 8070b331a..4f67a06f8 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/exception/GLAccountInvalidParentException.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/exception/GLAccountInvalidParentException.java @@ -13,7 +13,7 @@ import org.mifosplatform.infrastructure.core.exception.AbstractPlatformDomainRul */ public class GLAccountInvalidParentException extends AbstractPlatformDomainRuleException { - public GLAccountInvalidParentException(long glAccountId) { + public GLAccountInvalidParentException(final long glAccountId) { super("error.msg.glaccount.parent.invalid", "The account with id " + glAccountId + " is a 'Detail' account and cannot be used as a parent", glAccountId); } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/serialization/GLAccountCommandFromApiJsonDeserializer.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/serialization/GLAccountCommandFromApiJsonDeserializer.java index 37fd31bbe..e8b147ab3 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/serialization/GLAccountCommandFromApiJsonDeserializer.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/serialization/GLAccountCommandFromApiJsonDeserializer.java @@ -38,25 +38,25 @@ public final class GLAccountCommandFromApiJsonDeserializer extends AbstractFromA } @Override - public GLAccountCommand commandFromApiJson(String json) { + public GLAccountCommand commandFromApiJson(final String json) { if (StringUtils.isBlank(json)) { throw new InvalidJsonException(); } final Type typeOfMap = new TypeToken>() {}.getType(); - Set supportedParameters = GLAccountJsonInputParams.getAllValues(); - fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, supportedParameters); + final Set supportedParameters = GLAccountJsonInputParams.getAllValues(); + this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, supportedParameters); - final JsonElement element = fromApiJsonHelper.parse(json); + final JsonElement element = this.fromApiJsonHelper.parse(json); - final Long id = fromApiJsonHelper.extractLongNamed(GLAccountJsonInputParams.ID.getValue(), element); - final String name = fromApiJsonHelper.extractStringNamed(GLAccountJsonInputParams.NAME.getValue(), element); - final Long parentId = fromApiJsonHelper.extractLongNamed(GLAccountJsonInputParams.PARENT_ID.getValue(), element); - final String glCode = fromApiJsonHelper.extractStringNamed(GLAccountJsonInputParams.GL_CODE.getValue(), element); - final Boolean disabled = fromApiJsonHelper.extractBooleanNamed(GLAccountJsonInputParams.DISABLED.getValue(), element); - final Boolean manualEntriesAllowed = fromApiJsonHelper.extractBooleanNamed( + final Long id = this.fromApiJsonHelper.extractLongNamed(GLAccountJsonInputParams.ID.getValue(), element); + final String name = this.fromApiJsonHelper.extractStringNamed(GLAccountJsonInputParams.NAME.getValue(), element); + final Long parentId = this.fromApiJsonHelper.extractLongNamed(GLAccountJsonInputParams.PARENT_ID.getValue(), element); + final String glCode = this.fromApiJsonHelper.extractStringNamed(GLAccountJsonInputParams.GL_CODE.getValue(), element); + final Boolean disabled = this.fromApiJsonHelper.extractBooleanNamed(GLAccountJsonInputParams.DISABLED.getValue(), element); + final Boolean manualEntriesAllowed = this.fromApiJsonHelper.extractBooleanNamed( GLAccountJsonInputParams.MANUAL_ENTRIES_ALLOWED.getValue(), element); - final Integer type = fromApiJsonHelper.extractIntegerSansLocaleNamed(GLAccountJsonInputParams.TYPE.getValue(), element); - final Integer usage = fromApiJsonHelper.extractIntegerSansLocaleNamed(GLAccountJsonInputParams.USAGE.getValue(), element); - final String description = fromApiJsonHelper.extractStringNamed(GLAccountJsonInputParams.DESCRIPTION.getValue(), element); + final Integer type = this.fromApiJsonHelper.extractIntegerSansLocaleNamed(GLAccountJsonInputParams.TYPE.getValue(), element); + final Integer usage = this.fromApiJsonHelper.extractIntegerSansLocaleNamed(GLAccountJsonInputParams.USAGE.getValue(), element); + final String description = this.fromApiJsonHelper.extractStringNamed(GLAccountJsonInputParams.DESCRIPTION.getValue(), element); return new GLAccountCommand(id, name, parentId, glCode, disabled, manualEntriesAllowed, type, usage, description); } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/service/GLAccountReadPlatformServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/service/GLAccountReadPlatformServiceImpl.java index 697625611..595bdb22b 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/service/GLAccountReadPlatformServiceImpl.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/service/GLAccountReadPlatformServiceImpl.java @@ -47,25 +47,25 @@ public class GLAccountReadPlatformServiceImpl implements GLAccountReadPlatformSe @Override public GLAccountData mapRow(final ResultSet rs, @SuppressWarnings("unused") final int rowNum) throws SQLException { - Long id = rs.getLong("id"); - String name = rs.getString("name"); - Long parentId = JdbcSupport.getLong(rs,"parentId"); - String glCode = rs.getString("glCode"); - boolean disabled = rs.getBoolean("disabled"); - boolean manualEntriesAllowed = rs.getBoolean("manualEntriesAllowed"); + final Long id = rs.getLong("id"); + final String name = rs.getString("name"); + final Long parentId = JdbcSupport.getLong(rs, "parentId"); + final String glCode = rs.getString("glCode"); + final boolean disabled = rs.getBoolean("disabled"); + final boolean manualEntriesAllowed = rs.getBoolean("manualEntriesAllowed"); final int accountTypeId = JdbcSupport.getInteger(rs, "classification"); final EnumOptionData accountType = AccountingEnumerations.gLAccountType(accountTypeId); final int usageId = JdbcSupport.getInteger(rs, "accountUsage"); final EnumOptionData usage = AccountingEnumerations.gLAccountUsage(usageId); - String description = rs.getString("description"); + final String description = rs.getString("description"); return new GLAccountData(id, name, parentId, glCode, disabled, manualEntriesAllowed, accountType, usage, description); } } @Override - public List retrieveAllGLAccounts(Integer accountClassification, String searchParam, Integer usage, - Boolean manualTransactionsAllowed, Boolean disabled) { + public List retrieveAllGLAccounts(final Integer accountClassification, final String searchParam, final Integer usage, + final Boolean manualTransactionsAllowed, final Boolean disabled) { if (accountClassification != null) { if (!checkValidGLAccountType(accountClassification)) { throw new GLAccountInvalidClassificationException(accountClassification); } } @@ -74,9 +74,9 @@ public class GLAccountReadPlatformServiceImpl implements GLAccountReadPlatformSe if (!checkValidGLAccountUsage(usage)) { throw new GLAccountInvalidClassificationException(accountClassification); } } - GLAccountMapper rm = new GLAccountMapper(); + final GLAccountMapper rm = new GLAccountMapper(); String sql = "select " + rm.schema(); - Object[] paramaterArray = new Object[3]; + final Object[] paramaterArray = new Object[3]; int arrayPos = 0; boolean filtersPresent = false; if ((accountClassification != null) || StringUtils.isNotBlank(searchParam) || (usage != null) @@ -142,39 +142,39 @@ public class GLAccountReadPlatformServiceImpl implements GLAccountReadPlatformSe } sql = sql + " order by glCode"; - Object[] finalObjectArray = Arrays.copyOf(paramaterArray, arrayPos); + final Object[] finalObjectArray = Arrays.copyOf(paramaterArray, arrayPos); return this.jdbcTemplate.query(sql, rm, finalObjectArray); } @Override - public GLAccountData retrieveGLAccountById(long glAccountId) { + public GLAccountData retrieveGLAccountById(final long glAccountId) { try { - GLAccountMapper rm = new GLAccountMapper(); - String sql = "select " + rm.schema() + " where id = ?"; + final GLAccountMapper rm = new GLAccountMapper(); + final String sql = "select " + rm.schema() + " where id = ?"; - GLAccountData glAccountData = this.jdbcTemplate.queryForObject(sql, rm, new Object[] { glAccountId }); + final GLAccountData glAccountData = this.jdbcTemplate.queryForObject(sql, rm, new Object[] { glAccountId }); return glAccountData; - } catch (EmptyResultDataAccessException e) { + } catch (final EmptyResultDataAccessException e) { throw new GLAccountNotFoundException(glAccountId); } } @Override - public List retrieveAllEnabledDetailGLAccounts(GLAccountType accountType) { + public List retrieveAllEnabledDetailGLAccounts(final GLAccountType accountType) { return retrieveAllGLAccounts(accountType.getValue(), null, GLAccountUsage.DETAIL.getValue(), null, false); } private static boolean checkValidGLAccountType(final int type) { - for (GLAccountType accountType : GLAccountType.values()) { + for (final GLAccountType accountType : GLAccountType.values()) { if (accountType.getValue().equals(type)) { return true; } } return false; } private static boolean checkValidGLAccountUsage(final int type) { - for (GLAccountUsage accountUsage : GLAccountUsage.values()) { + for (final GLAccountUsage accountUsage : GLAccountUsage.values()) { if (accountUsage.getValue().equals(type)) { return true; } } return false; diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/service/GLAccountWritePlatformServiceJpaRepositoryImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/service/GLAccountWritePlatformServiceJpaRepositoryImpl.java index 96f3018fa..c66c483bc 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/service/GLAccountWritePlatformServiceJpaRepositoryImpl.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/glaccount/service/GLAccountWritePlatformServiceJpaRepositoryImpl.java @@ -58,17 +58,17 @@ public class GLAccountWritePlatformServiceJpaRepositoryImpl implements GLAccount accountCommand.validateForCreate(); // check parent is valid - Long parentId = command.longValueOfParameterNamed(GLAccountJsonInputParams.PARENT_ID.getValue()); + final Long parentId = command.longValueOfParameterNamed(GLAccountJsonInputParams.PARENT_ID.getValue()); GLAccount parentGLAccount = null; if (parentId != null) { parentGLAccount = validateParentGLAccount(parentId); } - GLAccount glAccount = GLAccount.fromJson(parentGLAccount, command); + final GLAccount glAccount = GLAccount.fromJson(parentGLAccount, command); this.glAccountRepository.saveAndFlush(glAccount); return new CommandProcessingResultBuilder().withCommandId(command.commandId()).withEntityId(glAccount.getId()).build(); - } catch (DataIntegrityViolationException dve) { + } catch (final DataIntegrityViolationException dve) { handleGLAccountDataIntegrityIssues(command, dve); return CommandProcessingResult.empty(); } @@ -82,14 +82,14 @@ public class GLAccountWritePlatformServiceJpaRepositoryImpl implements GLAccount accountCommand.validateForUpdate(); // is the glAccount valid - GLAccount glAccount = glAccountRepository.findOne(glAccountId); + final GLAccount glAccount = this.glAccountRepository.findOne(glAccountId); if (glAccount == null) { throw new GLAccountNotFoundException(glAccountId); } final Map changesOnly = glAccount.update(command); // is the new parent valid if (changesOnly.containsKey(GLAccountJsonInputParams.PARENT_ID.getValue())) { - Long parentId = command.longValueOfParameterNamed(GLAccountJsonInputParams.PARENT_ID.getValue()); + final Long parentId = command.longValueOfParameterNamed(GLAccountJsonInputParams.PARENT_ID.getValue()); validateParentGLAccount(parentId); } @@ -99,7 +99,8 @@ public class GLAccountWritePlatformServiceJpaRepositoryImpl implements GLAccount **/ if (changesOnly.containsKey(GLAccountJsonInputParams.USAGE.getValue())) { if (glAccount.isHeaderAccount()) { - List journalEntriesForAccount = glJournalEntryRepository.findFirstJournalEntryForAccount(glAccountId); + final List journalEntriesForAccount = this.glJournalEntryRepository + .findFirstJournalEntryForAccount(glAccountId); if (journalEntriesForAccount.size() > 0) { throw new GLAccountInvalidUpdateException( GL_ACCOUNT_INVALID_UPDATE_REASON.TRANSANCTIONS_LOGGED, glAccountId); } } @@ -111,7 +112,7 @@ public class GLAccountWritePlatformServiceJpaRepositoryImpl implements GLAccount return new CommandProcessingResultBuilder().withCommandId(command.commandId()).withEntityId(glAccount.getId()) .with(changesOnly).build(); - } catch (DataIntegrityViolationException dve) { + } catch (final DataIntegrityViolationException dve) { handleGLAccountDataIntegrityIssues(command, dve); return CommandProcessingResult.empty(); } @@ -129,7 +130,7 @@ public class GLAccountWritePlatformServiceJpaRepositoryImpl implements GLAccount GL_ACCOUNT_INVALID_DELETE_REASON.HAS_CHILDREN, glAccountId); } // does this account have transactions logged against it - List journalEntriesForAccount = glJournalEntryRepository.findFirstJournalEntryForAccount(glAccountId); + final List journalEntriesForAccount = this.glJournalEntryRepository.findFirstJournalEntryForAccount(glAccountId); if (journalEntriesForAccount.size() > 0) { throw new GLAccountInvalidDeleteException( GL_ACCOUNT_INVALID_DELETE_REASON.TRANSANCTIONS_LOGGED, glAccountId); } this.glAccountRepository.delete(glAccount); @@ -141,9 +142,9 @@ public class GLAccountWritePlatformServiceJpaRepositoryImpl implements GLAccount * @param command * @return */ - private GLAccount validateParentGLAccount(Long parentAccountId) { + private GLAccount validateParentGLAccount(final Long parentAccountId) { GLAccount parentGLAccount; - parentGLAccount = glAccountRepository.findOne(parentAccountId); + parentGLAccount = this.glAccountRepository.findOne(parentAccountId); if (parentGLAccount == null) { throw new GLAccountNotFoundException(parentAccountId); } // ensure parent is not a detail account if (parentGLAccount.isHeaderAccount()) { throw new GLAccountInvalidParentException(parentAccountId); } @@ -154,10 +155,10 @@ public class GLAccountWritePlatformServiceJpaRepositoryImpl implements GLAccount * @param command * @param dve */ - private void handleGLAccountDataIntegrityIssues(final JsonCommand command, DataIntegrityViolationException dve) { - Throwable realCause = dve.getMostSpecificCause(); + private void handleGLAccountDataIntegrityIssues(final JsonCommand command, final DataIntegrityViolationException dve) { + final Throwable realCause = dve.getMostSpecificCause(); if (realCause.getMessage().contains("acc_gl_code")) { - String glCode = command.stringValueOfParameterNamed(GLAccountJsonInputParams.GL_CODE.getValue()); + final String glCode = command.stringValueOfParameterNamed(GLAccountJsonInputParams.GL_CODE.getValue()); throw new GLAccountDuplicateException(glCode); } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/api/DateParam.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/api/DateParam.java index a3a61b206..c28eabce3 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/api/DateParam.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/api/DateParam.java @@ -28,7 +28,7 @@ public class DateParam { private final Date date; - public DateParam(String dateStr) throws WebApplicationException { + public DateParam(final String dateStr) throws WebApplicationException { if (StringUtils.isEmpty(dateStr)) { this.date = null; return; @@ -36,13 +36,13 @@ public class DateParam { final DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); try { this.date = dateFormat.parse(dateStr); - } catch (ParseException e) { + } catch (final ParseException e) { throw new WebApplicationException(Response.status(Status.BAD_REQUEST) .entity("Couldn't parse date string: Expected format yyyy-mm-dd " + e.getMessage()).build()); } } public Date getDate() { - return date; + return this.date; } } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/api/JournalEntriesApiResource.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/api/JournalEntriesApiResource.java index 1f67c1b7d..a81272c5f 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/api/JournalEntriesApiResource.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/api/JournalEntriesApiResource.java @@ -44,12 +44,12 @@ import org.springframework.stereotype.Component; public class JournalEntriesApiResource { private static final Set RESPONSE_DATA_PARAMETERS = new HashSet(Arrays.asList("id", "officeId", "officeName", - "glAccountName", "glAccountId", "glAccountCode", "glAccountType", "entryDate", "entryType", "amount", "transactionId", + "glAccountName", "glAccountId", "glAccountCode", "glAccountType", "transactionDate", "entryType", "amount", "transactionId", "portfolioGenerated", "entityType", "entityId", "createdByUserId", "createdDate", "createdByUserName", "comments", "reversed")); private final String resourceNameForPermission = "JOURNALENTRY"; - private JournalEntryReadPlatformService journalEntryReadPlatformService; + private final JournalEntryReadPlatformService journalEntryReadPlatformService; private final DefaultToApiJsonSerializer apiJsonSerializerService; private final ApiRequestParameterHelper apiRequestParameterHelper; private final PlatformSecurityContext context; @@ -74,9 +74,9 @@ public class JournalEntriesApiResource { public String retrieveAllJournalEntries(@Context final UriInfo uriInfo, @QueryParam("officeId") final Long officeId, @QueryParam("glAccountId") final Long glAccountId, @QueryParam("portfolioGenerated") final Boolean portfolioGenerated, @QueryParam("fromDate") final DateParam fromDateParam, @QueryParam("toDate") final DateParam toDateParam, - @QueryParam("transactionId") String transactionId) { + @QueryParam("transactionId") final String transactionId) { - context.authenticatedUser().validateHasReadPermission(resourceNameForPermission); + this.context.authenticatedUser().validateHasReadPermission(this.resourceNameForPermission); List glJournalEntryDatas = null; // get dates from date params @@ -95,7 +95,7 @@ public class JournalEntriesApiResource { glJournalEntryDatas = this.journalEntryReadPlatformService.retrieveRelatedJournalEntries(transactionId); } - final ApiRequestJsonSerializationSettings settings = apiRequestParameterHelper.process(uriInfo.getQueryParameters()); + final ApiRequestJsonSerializationSettings settings = this.apiRequestParameterHelper.process(uriInfo.getQueryParameters()); return this.apiJsonSerializerService.serialize(settings, glJournalEntryDatas, RESPONSE_DATA_PARAMETERS); } @@ -105,10 +105,10 @@ public class JournalEntriesApiResource { @Produces({ MediaType.APPLICATION_JSON }) public String retreiveJournalEntryById(@PathParam("journalEntryId") final Long journalEntryId, @Context final UriInfo uriInfo) { - context.authenticatedUser().validateHasReadPermission(resourceNameForPermission); + this.context.authenticatedUser().validateHasReadPermission(this.resourceNameForPermission); final JournalEntryData glJournalEntryData = this.journalEntryReadPlatformService.retrieveGLJournalEntryById(journalEntryId); - final ApiRequestJsonSerializationSettings settings = apiRequestParameterHelper.process(uriInfo.getQueryParameters()); + final ApiRequestJsonSerializationSettings settings = this.apiRequestParameterHelper.process(uriInfo.getQueryParameters()); return this.apiJsonSerializerService.serialize(settings, glJournalEntryData, RESPONSE_DATA_PARAMETERS); } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/api/JournalEntryJsonInputParams.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/api/JournalEntryJsonInputParams.java index bef866cef..974bc16e6 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/api/JournalEntryJsonInputParams.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/api/JournalEntryJsonInputParams.java @@ -7,7 +7,7 @@ import java.util.Set; * Enum of all parameters passed in while creating/updating a journal Entry ***/ public enum JournalEntryJsonInputParams { - OFFICE_ID("officeId"), ENTRY_DATE("entryDate"), COMMENTS("comments"), CREDITS("credits"), DEBITS("debits"), LOCALE("locale"), DATE_FORMAT( + OFFICE_ID("officeId"), TRANSACTION_DATE("transactionDate"), COMMENTS("comments"), CREDITS("credits"), DEBITS("debits"), LOCALE("locale"), DATE_FORMAT( "dateFormat"); private final String value; @@ -18,7 +18,7 @@ public enum JournalEntryJsonInputParams { private static final Set values = new HashSet(); static { - for (JournalEntryJsonInputParams type : JournalEntryJsonInputParams.values()) { + for (final JournalEntryJsonInputParams type : JournalEntryJsonInputParams.values()) { values.add(type.value); } } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/command/JournalEntryCommand.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/command/JournalEntryCommand.java index 7649338c8..538e45a0e 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/command/JournalEntryCommand.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/command/JournalEntryCommand.java @@ -19,16 +19,16 @@ import org.mifosplatform.infrastructure.core.exception.PlatformApiDataValidation public class JournalEntryCommand { private final Long officeId; - private final LocalDate entryDate; + private final LocalDate transactionDate; private final String comments; private final SingleDebitOrCreditEntryCommand[] credits; private final SingleDebitOrCreditEntryCommand[] debits; - public JournalEntryCommand(Long officeId, LocalDate entryDate, String comments, SingleDebitOrCreditEntryCommand[] credits, - SingleDebitOrCreditEntryCommand[] debits) { + public JournalEntryCommand(final Long officeId, final LocalDate transactionDate, final String comments, + final SingleDebitOrCreditEntryCommand[] credits, final SingleDebitOrCreditEntryCommand[] debits) { this.officeId = officeId; - this.entryDate = entryDate; + this.transactionDate = transactionDate; this.comments = comments; this.credits = credits; this.debits = debits; @@ -36,11 +36,11 @@ public class JournalEntryCommand { public void validateForCreate() { - List dataValidationErrors = new ArrayList(); + final List dataValidationErrors = new ArrayList(); - DataValidatorBuilder baseDataValidator = new DataValidatorBuilder(dataValidationErrors).resource("GLJournalEntry"); + final DataValidatorBuilder baseDataValidator = new DataValidatorBuilder(dataValidationErrors).resource("GLJournalEntry"); - baseDataValidator.reset().parameter("entryDate").value(this.entryDate).notBlank(); + baseDataValidator.reset().parameter("transactionDate").value(this.transactionDate).notBlank(); baseDataValidator.reset().parameter("officeId").value(this.officeId).notNull().integerGreaterThanZero(); @@ -56,7 +56,7 @@ public class JournalEntryCommand { validateSingleDebitOrCredit(baseDataValidator, "credits", 0, new SingleDebitOrCreditEntryCommand(null, null, null, null)); } else { int i = 0; - for (SingleDebitOrCreditEntryCommand credit : this.credits) { + for (final SingleDebitOrCreditEntryCommand credit : this.credits) { validateSingleDebitOrCredit(baseDataValidator, "credits", i, credit); i++; } @@ -69,7 +69,7 @@ public class JournalEntryCommand { validateSingleDebitOrCredit(baseDataValidator, "credits", 0, new SingleDebitOrCreditEntryCommand(null, null, null, null)); } else { int i = 0; - for (SingleDebitOrCreditEntryCommand debit : this.debits) { + for (final SingleDebitOrCreditEntryCommand debit : this.debits) { validateSingleDebitOrCredit(baseDataValidator, "debits", i, debit); i++; } @@ -85,8 +85,8 @@ public class JournalEntryCommand { * @param i * @param credit */ - private void validateSingleDebitOrCredit(DataValidatorBuilder baseDataValidator, String paramSuffix, int arrayPos, - SingleDebitOrCreditEntryCommand credit) { + private void validateSingleDebitOrCredit(final DataValidatorBuilder baseDataValidator, final String paramSuffix, final int arrayPos, + final SingleDebitOrCreditEntryCommand credit) { baseDataValidator.reset().parameter(paramSuffix + "[" + arrayPos + "].glAccountId").value(credit.getGlAccountId()).notNull() .integerGreaterThanZero(); baseDataValidator.reset().parameter(paramSuffix + "[" + arrayPos + "].amount").value(credit.getAmount()).notNull() @@ -97,8 +97,8 @@ public class JournalEntryCommand { return this.officeId; } - public LocalDate getEntryDate() { - return this.entryDate; + public LocalDate getTransactionDate() { + return this.transactionDate; } public String getComments() { diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/command/SingleDebitOrCreditEntryCommand.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/command/SingleDebitOrCreditEntryCommand.java index 6d3d8aed6..8ca401445 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/command/SingleDebitOrCreditEntryCommand.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/command/SingleDebitOrCreditEntryCommand.java @@ -19,7 +19,8 @@ public class SingleDebitOrCreditEntryCommand { private final Set parametersPassedInRequest; - public SingleDebitOrCreditEntryCommand(Set parametersPassedInRequest, Long glAccountId, BigDecimal amount, String comments) { + public SingleDebitOrCreditEntryCommand(final Set parametersPassedInRequest, final Long glAccountId, final BigDecimal amount, + final String comments) { this.parametersPassedInRequest = parametersPassedInRequest; this.glAccountId = glAccountId; this.amount = amount; diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/data/JournalEntryData.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/data/JournalEntryData.java index 1bccc54c5..7d8987d08 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/data/JournalEntryData.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/data/JournalEntryData.java @@ -33,7 +33,7 @@ public class JournalEntryData { @SuppressWarnings("unused") private final EnumOptionData glAccountType; @SuppressWarnings("unused") - private final LocalDate entryDate; + private final LocalDate transactionDate; @SuppressWarnings("unused") private final EnumOptionData entryType; @SuppressWarnings("unused") @@ -57,10 +57,11 @@ public class JournalEntryData { @SuppressWarnings("unused") private final Boolean reversed; - public JournalEntryData(Long id, Long officeId, String officeName, String glAccountName, Long glAccountId, String glAccountCode, - EnumOptionData glAccountClassification, LocalDate entryDate, EnumOptionData entryType, BigDecimal amount, String transactionId, - Boolean portfolioGenerated, String entityType, Long entityId, Long createdByUserId, LocalDate createdDate, - String createdByUserName, String comments, Boolean reversed) { + public JournalEntryData(final Long id, final Long officeId, final String officeName, final String glAccountName, + final Long glAccountId, final String glAccountCode, final EnumOptionData glAccountClassification, + final LocalDate transactionDate, final EnumOptionData entryType, final BigDecimal amount, final String transactionId, + final Boolean portfolioGenerated, final String entityType, final Long entityId, final Long createdByUserId, + final LocalDate createdDate, final String createdByUserName, final String comments, final Boolean reversed) { this.id = id; this.officeId = officeId; this.officeName = officeName; @@ -68,7 +69,7 @@ public class JournalEntryData { this.glAccountId = glAccountId; this.glAccountCode = glAccountCode; this.glAccountType = glAccountClassification; - this.entryDate = entryDate; + this.transactionDate = transactionDate; this.entryType = entryType; this.amount = amount; this.transactionId = transactionId; diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/domain/JournalEntry.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/domain/JournalEntry.java index 130213aa3..abfb24dec 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/domain/JournalEntry.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/domain/JournalEntry.java @@ -54,7 +54,7 @@ public class JournalEntry extends AbstractAuditableCustom { @Column(name = "entry_date") @Temporal(TemporalType.DATE) - private Date entryDate; + private Date transactionDate; @Column(name = "type_enum", nullable = false, length = 50) private Integer type; @@ -74,9 +74,10 @@ public class JournalEntry extends AbstractAuditableCustom { @Column(name = "entity_id") private Long entityId; - public static JournalEntry createNew(Office office, GLAccount glAccount, String transactionId, boolean portfolioGenerated, - Date entryDate, JournalEntryType journalEntryType, BigDecimal amount, String description, String entityType, Long entityId) { - return new JournalEntry(office, glAccount, transactionId, portfolioGenerated, entryDate, journalEntryType.getValue(), amount, + public static JournalEntry createNew(final Office office, final GLAccount glAccount, final String transactionId, + final boolean portfolioGenerated, final Date transactionDate, final JournalEntryType journalEntryType, final BigDecimal amount, + final String description, final String entityType, final Long entityId) { + return new JournalEntry(office, glAccount, transactionId, portfolioGenerated, transactionDate, journalEntryType.getValue(), amount, description, entityType, entityId); } @@ -84,15 +85,16 @@ public class JournalEntry extends AbstractAuditableCustom { // } - public JournalEntry(Office office, GLAccount glAccount, String transactionId, boolean portfolioGenerated, Date entryDate, - Integer type, BigDecimal amount, String description, String entityType, Long entityId) { + public JournalEntry(final Office office, final GLAccount glAccount, final String transactionId, final boolean portfolioGenerated, + final Date transactionDate, final Integer type, final BigDecimal amount, final String description, final String entityType, + final Long entityId) { this.office = office; this.glAccount = glAccount; this.reversalJournalEntry = null; this.transactionId = transactionId; this.reversed = false; this.portfolioGenerated = portfolioGenerated; - this.entryDate = entryDate; + this.transactionDate = transactionDate; this.type = type; this.amount = amount; this.description = StringUtils.defaultIfEmpty(description, null); @@ -101,7 +103,7 @@ public class JournalEntry extends AbstractAuditableCustom { } public boolean isDebitEntry() { - return JournalEntryType.DEBIT.getValue().equals(type); + return JournalEntryType.DEBIT.getValue().equals(this.type); } public Integer getType() { @@ -116,19 +118,19 @@ public class JournalEntry extends AbstractAuditableCustom { return this.glAccount; } - public Date getEntryDate() { - return this.entryDate; + public Date getTransactionDate() { + return this.transactionDate; } public BigDecimal getAmount() { return this.amount; } - public void setReversalJournalEntry(JournalEntry reversalJournalEntry) { + public void setReversalJournalEntry(final JournalEntry reversalJournalEntry) { this.reversalJournalEntry = reversalJournalEntry; } - public void setReversed(boolean reversed) { + public void setReversed(final boolean reversed) { this.reversed = reversed; } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/domain/JournalEntryRepositoryCustom.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/domain/JournalEntryRepositoryCustom.java index cd3822a1f..043436c51 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/domain/JournalEntryRepositoryCustom.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/domain/JournalEntryRepositoryCustom.java @@ -7,7 +7,6 @@ package org.mifosplatform.accounting.journalentry.domain; import java.util.List; - public interface JournalEntryRepositoryCustom { List findFirstJournalEntryForAccount(long glAccountId); diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/domain/JournalEntryRepositoryImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/domain/JournalEntryRepositoryImpl.java index cf152a0c6..de27e571a 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/domain/JournalEntryRepositoryImpl.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/domain/JournalEntryRepositoryImpl.java @@ -20,8 +20,8 @@ public class JournalEntryRepositoryImpl implements JournalEntryRepositoryCustom @Override @SuppressWarnings("unchecked") - public List findFirstJournalEntryForAccount(long glAccountId) { - List journalEntries = entityManager + public List findFirstJournalEntryForAccount(final long glAccountId) { + final List journalEntries = this.entityManager .createQuery("SELECT journalEntry FROM JournalEntry journalEntry where journalEntry.glAccount.id= :glAccountId") .setParameter("glAccountId", glAccountId).setFirstResult(0).setMaxResults(1).getResultList(); return journalEntries; diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/domain/JournalEntryType.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/domain/JournalEntryType.java index 7a4df3920..4d6842f85 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/domain/JournalEntryType.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/domain/JournalEntryType.java @@ -8,7 +8,6 @@ package org.mifosplatform.accounting.journalentry.domain; import java.util.HashMap; import java.util.Map; - public enum JournalEntryType { CREDIT(1, "journalEntryType.credit"), DEBIT(2, "journalEntrytType.debit"); @@ -26,18 +25,18 @@ public enum JournalEntryType { } public String getCode() { - return code; + return this.code; } private static final Map intToEnumMap = new HashMap(); static { - for (JournalEntryType type : JournalEntryType.values()) { + for (final JournalEntryType type : JournalEntryType.values()) { intToEnumMap.put(type.value, type); } } - public static JournalEntryType fromInt(int i) { - JournalEntryType type = intToEnumMap.get(Integer.valueOf(i)); + public static JournalEntryType fromInt(final int i) { + final JournalEntryType type = intToEnumMap.get(Integer.valueOf(i)); return type; } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/serialization/JournalEntryCommandFromApiJsonDeserializer.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/serialization/JournalEntryCommandFromApiJsonDeserializer.java index 6a86ecedf..83f6b915c 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/serialization/JournalEntryCommandFromApiJsonDeserializer.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/serialization/JournalEntryCommandFromApiJsonDeserializer.java @@ -44,37 +44,36 @@ public final class JournalEntryCommandFromApiJsonDeserializer extends AbstractFr } @Override - public JournalEntryCommand commandFromApiJson(String json) { + public JournalEntryCommand commandFromApiJson(final String json) { if (StringUtils.isBlank(json)) { throw new InvalidJsonException(); } final Type typeOfMap = new TypeToken>() {}.getType(); - Set supportedParameters = JournalEntryJsonInputParams.getAllValues(); - fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, supportedParameters); + final Set supportedParameters = JournalEntryJsonInputParams.getAllValues(); + this.fromApiJsonHelper.checkForUnsupportedParameters(typeOfMap, json, supportedParameters); - final JsonElement element = fromApiJsonHelper.parse(json); + final JsonElement element = this.fromApiJsonHelper.parse(json); - final Long officeId = fromApiJsonHelper.extractLongNamed(JournalEntryJsonInputParams.OFFICE_ID.getValue(), element); - final String comments = fromApiJsonHelper.extractStringNamed(JournalEntryJsonInputParams.COMMENTS.getValue(), element); - final LocalDate entryDate = fromApiJsonHelper.extractLocalDateNamed(JournalEntryJsonInputParams.ENTRY_DATE.getValue(), element); + final Long officeId = this.fromApiJsonHelper.extractLongNamed(JournalEntryJsonInputParams.OFFICE_ID.getValue(), element); + final String comments = this.fromApiJsonHelper.extractStringNamed(JournalEntryJsonInputParams.COMMENTS.getValue(), element); + final LocalDate transactionDate = this.fromApiJsonHelper.extractLocalDateNamed( + JournalEntryJsonInputParams.TRANSACTION_DATE.getValue(), element); final JsonObject topLevelJsonElement = element.getAsJsonObject(); - Locale locale = fromApiJsonHelper.extractLocaleParameter(topLevelJsonElement); + final Locale locale = this.fromApiJsonHelper.extractLocaleParameter(topLevelJsonElement); SingleDebitOrCreditEntryCommand[] credits = null; SingleDebitOrCreditEntryCommand[] debits = null; if (element.isJsonObject()) { if (topLevelJsonElement.has(JournalEntryJsonInputParams.CREDITS.getValue()) && topLevelJsonElement.get(JournalEntryJsonInputParams.CREDITS.getValue()).isJsonArray()) { - credits = populateCreditsOrDebitsArray(topLevelJsonElement, locale, credits, - JournalEntryJsonInputParams.CREDITS.getValue()); + credits = populateCreditsOrDebitsArray(topLevelJsonElement, locale, credits, JournalEntryJsonInputParams.CREDITS.getValue()); } if (topLevelJsonElement.has(JournalEntryJsonInputParams.DEBITS.getValue()) && topLevelJsonElement.get(JournalEntryJsonInputParams.DEBITS.getValue()).isJsonArray()) { - debits = populateCreditsOrDebitsArray(topLevelJsonElement, locale, debits, - JournalEntryJsonInputParams.DEBITS.getValue()); + debits = populateCreditsOrDebitsArray(topLevelJsonElement, locale, debits, JournalEntryJsonInputParams.DEBITS.getValue()); } } - return new JournalEntryCommand(officeId, entryDate, comments, credits, debits); + return new JournalEntryCommand(officeId, transactionDate, comments, credits, debits); } /** @@ -83,7 +82,7 @@ public final class JournalEntryCommandFromApiJsonDeserializer extends AbstractFr * @param locale */ private SingleDebitOrCreditEntryCommand[] populateCreditsOrDebitsArray(final JsonObject topLevelJsonElement, final Locale locale, - SingleDebitOrCreditEntryCommand[] debitOrCredits, String paramName) { + SingleDebitOrCreditEntryCommand[] debitOrCredits, final String paramName) { final JsonArray array = topLevelJsonElement.get(paramName).getAsJsonArray(); debitOrCredits = new SingleDebitOrCreditEntryCommand[array.size()]; for (int i = 0; i < array.size(); i++) { @@ -91,9 +90,9 @@ public final class JournalEntryCommandFromApiJsonDeserializer extends AbstractFr final JsonObject creditElement = array.get(i).getAsJsonObject(); final Set parametersPassedInForCreditsCommand = new HashSet(); - final Long glAccountId = fromApiJsonHelper.extractLongNamed("glAccountId", creditElement); - final String comments = fromApiJsonHelper.extractStringNamed("comments", creditElement); - final BigDecimal amount = fromApiJsonHelper.extractBigDecimalNamed("amount", creditElement, locale); + final Long glAccountId = this.fromApiJsonHelper.extractLongNamed("glAccountId", creditElement); + final String comments = this.fromApiJsonHelper.extractStringNamed("comments", creditElement); + final BigDecimal amount = this.fromApiJsonHelper.extractBigDecimalNamed("amount", creditElement, locale); debitOrCredits[i] = new SingleDebitOrCreditEntryCommand(parametersPassedInForCreditsCommand, glAccountId, amount, comments); } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/service/JournalEntryReadPlatformServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/service/JournalEntryReadPlatformServiceImpl.java index eb55c99a0..c58429e04 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/service/JournalEntryReadPlatformServiceImpl.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/service/JournalEntryReadPlatformServiceImpl.java @@ -43,7 +43,7 @@ public class JournalEntryReadPlatformServiceImpl implements JournalEntryReadPlat return " journalEntry.id as journalEntryId, glAccount.classification_enum as classification ," + " glAccount.name as glAccountName, glAccount.gl_code as glCode, journalEntry.account_id as glAccountId," + " journalEntry.office_id as officeId, office.name as officeName, " - + " journalEntry.portfolio_generated as portfolioGenerated,journalEntry.entry_date as entryDate, " + + " journalEntry.portfolio_generated as portfolioGenerated,journalEntry.entry_date as transactionDate, " + " journalEntry.type_enum as entryType,journalEntry.amount as amount, journalEntry.transaction_id as transactionId," + " journalEntry.entity_type as entityType, journalEntry.entity_id as entityId, creatingUser.id as createdByUserId, " + " creatingUser.username as createdByUserName, journalEntry.description as comments, " @@ -56,41 +56,41 @@ public class JournalEntryReadPlatformServiceImpl implements JournalEntryReadPlat @Override public JournalEntryData mapRow(final ResultSet rs, @SuppressWarnings("unused") final int rowNum) throws SQLException { - Long journalEntryId = rs.getLong("journalEntryId"); - Long officeId = rs.getLong("officeId"); - String officeName = rs.getString("officeName"); - String glCode = rs.getString("glCode"); - String glAccountName = rs.getString("glAccountName"); - Long glAccountId = rs.getLong("glAccountId"); + final Long journalEntryId = rs.getLong("journalEntryId"); + final Long officeId = rs.getLong("officeId"); + final String officeName = rs.getString("officeName"); + final String glCode = rs.getString("glCode"); + final String glAccountName = rs.getString("glAccountName"); + final Long glAccountId = rs.getLong("glAccountId"); final int accountTypeId = JdbcSupport.getInteger(rs, "classification"); final EnumOptionData accountType = AccountingEnumerations.gLAccountType(accountTypeId); - LocalDate entryDate = JdbcSupport.getLocalDate(rs, "entryDate"); - Boolean portfolioGenerated = rs.getBoolean("portfolioGenerated"); - BigDecimal amount = rs.getBigDecimal("amount"); - int entryTypeId = JdbcSupport.getInteger(rs, "entryType"); + final LocalDate transactionDate = JdbcSupport.getLocalDate(rs, "transactionDate"); + final Boolean portfolioGenerated = rs.getBoolean("portfolioGenerated"); + final BigDecimal amount = rs.getBigDecimal("amount"); + final int entryTypeId = JdbcSupport.getInteger(rs, "entryType"); final EnumOptionData entryType = AccountingEnumerations.journalEntryType(entryTypeId); - String transactionId = rs.getString("transactionId"); - String entityType = rs.getString("entityType"); - Long entityId = JdbcSupport.getLong(rs, "entityId"); - Long createdByUserId = rs.getLong("createdByUserId"); - LocalDate createdDate = JdbcSupport.getLocalDate(rs, "createdDate"); - String createdByUserName = rs.getString("createdByUserName"); - String comments = rs.getString("comments"); - Boolean reversed = rs.getBoolean("reversed"); + final String transactionId = rs.getString("transactionId"); + final String entityType = rs.getString("entityType"); + final Long entityId = JdbcSupport.getLong(rs, "entityId"); + final Long createdByUserId = rs.getLong("createdByUserId"); + final LocalDate createdDate = JdbcSupport.getLocalDate(rs, "createdDate"); + final String createdByUserName = rs.getString("createdByUserName"); + final String comments = rs.getString("comments"); + final Boolean reversed = rs.getBoolean("reversed"); - return new JournalEntryData(journalEntryId, officeId, officeName, glAccountName, glAccountId, glCode, accountType, entryDate, - entryType, amount, transactionId, portfolioGenerated, entityType, entityId, createdByUserId, createdDate, - createdByUserName, comments, reversed); + return new JournalEntryData(journalEntryId, officeId, officeName, glAccountName, glAccountId, glCode, accountType, + transactionDate, entryType, amount, transactionId, portfolioGenerated, entityType, entityId, createdByUserId, + createdDate, createdByUserName, comments, reversed); } } @Override - public List retrieveAllGLJournalEntries(Long officeId, Long glAccountId, Boolean portfolioGenerated, Date fromDate, - Date toDate) { - GLJournalEntryMapper rm = new GLJournalEntryMapper(); + public List retrieveAllGLJournalEntries(final Long officeId, final Long glAccountId, + final Boolean portfolioGenerated, final Date fromDate, final Date toDate) { + final GLJournalEntryMapper rm = new GLJournalEntryMapper(); String sql = "select " + rm.schema(); - Object[] objectArray = new Object[4]; + final Object[] objectArray = new Object[4]; int arrayPos = 0; if (officeId != null && officeId != 0) { @@ -106,7 +106,7 @@ public class JournalEntryReadPlatformServiceImpl implements JournalEntryReadPlat } if (fromDate != null || toDate != null) { - DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); + final DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); String fromDateString = null; String toDateString = null; if (fromDate != null && toDate != null) { @@ -140,36 +140,36 @@ public class JournalEntryReadPlatformServiceImpl implements JournalEntryReadPlat sql += " order by journalEntry.entry_date desc,journalEntry.transaction_id"; - Object[] finalObjectArray = Arrays.copyOf(objectArray, arrayPos); + final Object[] finalObjectArray = Arrays.copyOf(objectArray, arrayPos); return this.jdbcTemplate.query(sql, rm, finalObjectArray); } @Override - public JournalEntryData retrieveGLJournalEntryById(long glJournalEntryId) { + public JournalEntryData retrieveGLJournalEntryById(final long glJournalEntryId) { try { - GLJournalEntryMapper rm = new GLJournalEntryMapper(); - String sql = "select " + rm.schema() + " and journalEntry.id = ?"; + final GLJournalEntryMapper rm = new GLJournalEntryMapper(); + final String sql = "select " + rm.schema() + " and journalEntry.id = ?"; - JournalEntryData glJournalEntryData = this.jdbcTemplate.queryForObject(sql, rm, new Object[] { glJournalEntryId }); + final JournalEntryData glJournalEntryData = this.jdbcTemplate.queryForObject(sql, rm, new Object[] { glJournalEntryId }); return glJournalEntryData; - } catch (EmptyResultDataAccessException e) { + } catch (final EmptyResultDataAccessException e) { throw new JournalEntriesNotFoundException(glJournalEntryId); } } @Override - public List retrieveRelatedJournalEntries(String transactionId) { + public List retrieveRelatedJournalEntries(final String transactionId) { try { - GLJournalEntryMapper rm = new GLJournalEntryMapper(); - String sql = "select " + rm.schema() + " and journalEntry.transaction_id = ?"; + final GLJournalEntryMapper rm = new GLJournalEntryMapper(); + final String sql = "select " + rm.schema() + " and journalEntry.transaction_id = ?"; - List journalEntryDatas = this.jdbcTemplate.query(sql, rm, new Object[] { transactionId }); + final List journalEntryDatas = this.jdbcTemplate.query(sql, rm, new Object[] { transactionId }); return journalEntryDatas; - } catch (EmptyResultDataAccessException e) { + } catch (final EmptyResultDataAccessException e) { throw new JournalEntriesNotFoundException(transactionId); } } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/service/JournalEntryWritePlatformService.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/service/JournalEntryWritePlatformService.java index 7cecadadc..eed35805c 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/service/JournalEntryWritePlatformService.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/service/JournalEntryWritePlatformService.java @@ -18,7 +18,7 @@ public interface JournalEntryWritePlatformService { CommandProcessingResult revertJournalEntry(JsonCommand command); void createJournalEntriesForLoan(Map accountingBridgeData); - + void createJournalEntriesForLoan(LoanDTO loanDTO); } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/service/JournalEntryWritePlatformServiceJpaRepositoryImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/service/JournalEntryWritePlatformServiceJpaRepositoryImpl.java index 53e24e440..d7f427a5d 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/service/JournalEntryWritePlatformServiceJpaRepositoryImpl.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/journalentry/service/JournalEntryWritePlatformServiceJpaRepositoryImpl.java @@ -76,31 +76,31 @@ public class JournalEntryWritePlatformServiceJpaRepositoryImpl implements Journa @Transactional @Override - public CommandProcessingResult createJournalEntry(JsonCommand command) { + public CommandProcessingResult createJournalEntry(final JsonCommand command) { try { final JournalEntryCommand journalEntryCommand = this.fromApiJsonDeserializer.commandFromApiJson(command.json()); journalEntryCommand.validateForCreate(); // check office is valid - Long officeId = command.longValueOfParameterNamed(JournalEntryJsonInputParams.OFFICE_ID.getValue()); + final Long officeId = command.longValueOfParameterNamed(JournalEntryJsonInputParams.OFFICE_ID.getValue()); final Office office = this.officeRepository.findOne(officeId); if (office == null) { throw new OfficeNotFoundException(officeId); } validateBusinessRulesForJournalEntries(journalEntryCommand); /** Set a transaction Id and save these Journal entries **/ - Date entryDate = command.DateValueOfParameterNamed(JournalEntryJsonInputParams.ENTRY_DATE.getValue()); - String transactionId = generateTransactionId(); + final Date transactionDate = command.DateValueOfParameterNamed(JournalEntryJsonInputParams.TRANSACTION_DATE.getValue()); + final String transactionId = generateTransactionId(); - saveAllDebitOrCreditEntries(journalEntryCommand, office, entryDate, journalEntryCommand.getDebits(), transactionId, + saveAllDebitOrCreditEntries(journalEntryCommand, office, transactionDate, journalEntryCommand.getDebits(), transactionId, JournalEntryType.DEBIT); - saveAllDebitOrCreditEntries(journalEntryCommand, office, entryDate, journalEntryCommand.getCredits(), transactionId, + saveAllDebitOrCreditEntries(journalEntryCommand, office, transactionDate, journalEntryCommand.getCredits(), transactionId, JournalEntryType.CREDIT); return new CommandProcessingResultBuilder().withCommandId(command.commandId()).withOfficeId(officeId) .withTransactionId(transactionId).build(); - } catch (DataIntegrityViolationException dve) { + } catch (final DataIntegrityViolationException dve) { handleJournalEntryDataIntegrityIssues(dve); return null; } @@ -108,25 +108,27 @@ public class JournalEntryWritePlatformServiceJpaRepositoryImpl implements Journa @Transactional @Override - public CommandProcessingResult revertJournalEntry(JsonCommand command) { + public CommandProcessingResult revertJournalEntry(final JsonCommand command) { // is the transaction Id valid - List journalEntries = glJournalEntryRepository.findUnReversedManualJournalEntriesByTransactionId(command + final List journalEntries = this.glJournalEntryRepository.findUnReversedManualJournalEntriesByTransactionId(command .getTransactionId()); if (journalEntries.size() <= 1) { throw new JournalEntriesNotFoundException(command.getTransactionId()); } - String reversalTransactionId = generateTransactionId(); + final String reversalTransactionId = generateTransactionId(); - for (JournalEntry journalEntry : journalEntries) { + for (final JournalEntry journalEntry : journalEntries) { JournalEntry reversalJournalEntry; - String reversalComment = "Reversal entry for Journal Entry with Entry Id :" + journalEntry.getId() + " and transaction Id " - + command.getTransactionId(); + final String reversalComment = "Reversal entry for Journal Entry with Entry Id :" + journalEntry.getId() + + " and transaction Id " + command.getTransactionId(); if (journalEntry.isDebitEntry()) { reversalJournalEntry = JournalEntry.createNew(journalEntry.getOffice(), journalEntry.getGlAccount(), reversalTransactionId, - false, journalEntry.getEntryDate(), JournalEntryType.CREDIT, journalEntry.getAmount(), reversalComment, null, null); + false, journalEntry.getTransactionDate(), JournalEntryType.CREDIT, journalEntry.getAmount(), reversalComment, null, + null); } else { reversalJournalEntry = JournalEntry.createNew(journalEntry.getOffice(), journalEntry.getGlAccount(), reversalTransactionId, - false, journalEntry.getEntryDate(), JournalEntryType.DEBIT, journalEntry.getAmount(), reversalComment, null, null); + false, journalEntry.getTransactionDate(), JournalEntryType.DEBIT, journalEntry.getAmount(), reversalComment, null, + null); } // save the reversal entry this.glJournalEntryRepository.saveAndFlush(reversalJournalEntry); @@ -176,19 +178,19 @@ public class JournalEntryWritePlatformServiceJpaRepositoryImpl implements Journa @SuppressWarnings("unchecked") final List> newTransactionsMap = (List>) accountingBridgeData.get("newLoanTransactions"); - for (Map map : newTransactionsMap) { - String transactionId = ((Long) map.get("id")).toString(); - Date transactionDate = ((LocalDate) map.get("date")).toDate(); - BigDecimal amount = (BigDecimal) map.get("amount"); - BigDecimal principal = (BigDecimal) map.get("principalPortion"); - BigDecimal interest = (BigDecimal) map.get("interestPortion"); - BigDecimal fees = (BigDecimal) map.get("feeChargesPortion"); - BigDecimal penalties = (BigDecimal) map.get("penaltyChargesPortion"); - boolean disbursement = (Boolean) map.get("disbursement"); - boolean repayment = (Boolean) map.get("repayment"); - boolean repaymentAtDisbursement = (Boolean) map.get("repaymentAtDisbursement"); - boolean contra = (Boolean) map.get("contra"); - boolean writeOff = (Boolean) map.get("writeOff"); + for (final Map map : newTransactionsMap) { + final String transactionId = ((Long) map.get("id")).toString(); + final Date transactionDate = ((LocalDate) map.get("date")).toDate(); + final BigDecimal amount = (BigDecimal) map.get("amount"); + final BigDecimal principal = (BigDecimal) map.get("principalPortion"); + final BigDecimal interest = (BigDecimal) map.get("interestPortion"); + final BigDecimal fees = (BigDecimal) map.get("feeChargesPortion"); + final BigDecimal penalties = (BigDecimal) map.get("penaltyChargesPortion"); + final boolean disbursement = (Boolean) map.get("disbursement"); + final boolean repayment = (Boolean) map.get("repayment"); + final boolean repaymentAtDisbursement = (Boolean) map.get("repaymentAtDisbursement"); + final boolean contra = (Boolean) map.get("contra"); + final boolean writeOff = (Boolean) map.get("writeOff"); final LoanTransactionDTO transaction = new LoanTransactionDTO(transactionId, transactionDate, amount, principal, interest, fees, penalties, disbursement, repayment, repaymentAtDisbursement, contra, writeOff); @@ -201,48 +203,52 @@ public class JournalEntryWritePlatformServiceJpaRepositoryImpl implements Journa } private void createJournalEntriesUsingCashRules(final LoanDTO loanDTO) { - GLClosure latestGLClosure = glClosureRepository.getLatestGLClosureByBranch(loanDTO.getOfficeId()); - Office office = officeRepository.findOne(loanDTO.getOfficeId()); - Long loanProductId = loanDTO.getLoanProductId(); + final GLClosure latestGLClosure = this.glClosureRepository.getLatestGLClosureByBranch(loanDTO.getOfficeId()); + final Office office = this.officeRepository.findOne(loanDTO.getOfficeId()); + final Long loanProductId = loanDTO.getLoanProductId(); // TODO: Check for accounting type - for (LoanTransactionDTO loanTransactionDTO : loanDTO.getNewLoanTransactions()) { - Date entryDate = loanTransactionDTO.getTransactionDate(); - String transactionId = loanTransactionDTO.getTransactionId(); - Long loanId = loanDTO.getLoanId(); + for (final LoanTransactionDTO loanTransactionDTO : loanDTO.getNewLoanTransactions()) { + final Date transactionDate = loanTransactionDTO.getTransactionDate(); + final String transactionId = loanTransactionDTO.getTransactionId(); + final Long loanId = loanDTO.getLoanId(); /** * check if an accounting closure has happened for this branch after * the transaction Date **/ if (latestGLClosure != null) { - if (latestGLClosure.getClosingDate().after(entryDate) || latestGLClosure.getClosingDate().equals(entryDate)) { throw new JournalEntryInvalidException( + if (latestGLClosure.getClosingDate().after(transactionDate) || latestGLClosure.getClosingDate().equals(transactionDate)) { throw new JournalEntryInvalidException( GL_JOURNAL_ENTRY_INVALID_REASON.ACCOUNTING_CLOSED, latestGLClosure.getClosingDate(), null, null); } } /*** Debit loan Portfolio and credit Fund source for Disbursal **/ if (loanTransactionDTO.isDisbursement()) { - GLAccount loanPortfolioAccount = getLinkedFinAccountForLoanProduct(loanProductId, CASH_ACCOUNTS_FOR_LOAN.LOAN_PORTFOLIO); - GLAccount fundSourceAccount = getLinkedFinAccountForLoanProduct(loanProductId, CASH_ACCOUNTS_FOR_LOAN.FUND_SOURCE); + final GLAccount loanPortfolioAccount = getLinkedFinAccountForLoanProduct(loanProductId, + CASH_ACCOUNTS_FOR_LOAN.LOAN_PORTFOLIO); + final GLAccount fundSourceAccount = getLinkedFinAccountForLoanProduct(loanProductId, CASH_ACCOUNTS_FOR_LOAN.FUND_SOURCE); - BigDecimal disbursalAmount = loanTransactionDTO.getAmount(); - createDebitJournalEntryForLoanProduct(office, loanPortfolioAccount, loanId, transactionId, entryDate, disbursalAmount); - createCreditJournalEntryForLoanProduct(office, fundSourceAccount, loanId, transactionId, entryDate, disbursalAmount); + final BigDecimal disbursalAmount = loanTransactionDTO.getAmount(); + createDebitJournalEntryForLoanProduct(office, loanPortfolioAccount, loanId, transactionId, transactionDate, disbursalAmount); + createCreditJournalEntryForLoanProduct(office, fundSourceAccount, loanId, transactionId, transactionDate, disbursalAmount); } else if (loanTransactionDTO.isRepayment() || loanTransactionDTO.isRepaymentAtDisbursement() || loanTransactionDTO.isContra()) { - createJournalEntriesForRepaymentOrContraUsingCashRules(office, loanProductId, loanTransactionDTO, entryDate, transactionId, - loanId); + createJournalEntriesForRepaymentOrContraUsingCashRules(office, loanProductId, loanTransactionDTO, transactionDate, + transactionId, loanId); }/*** * Only principal write off affects cash based accounting (interest * and fee write off need not be considered). Debit losses written * off and credit Loan Portfolio **/ else if (loanTransactionDTO.isWriteOff()) { - BigDecimal principalAmount = loanTransactionDTO.getPrincipal(); - GLAccount lossesWrittenOffAccount = getLinkedFinAccountForLoanProduct(loanProductId, + final BigDecimal principalAmount = loanTransactionDTO.getPrincipal(); + final GLAccount lossesWrittenOffAccount = getLinkedFinAccountForLoanProduct(loanProductId, CASH_ACCOUNTS_FOR_LOAN.LOSSES_WRITTEN_OFF); - createDebitJournalEntryForLoanProduct(office, lossesWrittenOffAccount, loanId, transactionId, entryDate, principalAmount); + createDebitJournalEntryForLoanProduct(office, lossesWrittenOffAccount, loanId, transactionId, transactionDate, + principalAmount); - GLAccount loanPortfolioAccount = getLinkedFinAccountForLoanProduct(loanProductId, CASH_ACCOUNTS_FOR_LOAN.LOAN_PORTFOLIO); - createCreditJournalEntryForLoanProduct(office, loanPortfolioAccount, loanId, transactionId, entryDate, principalAmount); + final GLAccount loanPortfolioAccount = getLinkedFinAccountForLoanProduct(loanProductId, + CASH_ACCOUNTS_FOR_LOAN.LOAN_PORTFOLIO); + createCreditJournalEntryForLoanProduct(office, loanPortfolioAccount, loanId, transactionId, transactionDate, + principalAmount); } } } @@ -257,12 +263,12 @@ public class JournalEntryWritePlatformServiceJpaRepositoryImpl implements Journa * credits and vice versa */ private void createJournalEntriesForRepaymentOrContraUsingCashRules(final Office office, final Long loanProductId, - final LoanTransactionDTO loanTransactionDTO, final Date entryDate, String transactionId, final Long loanId) { - BigDecimal principalAmount = loanTransactionDTO.getPrincipal(); - BigDecimal interestAmount = loanTransactionDTO.getInterest(); - BigDecimal feesAmount = loanTransactionDTO.getFees(); - BigDecimal penaltiesAmount = loanTransactionDTO.getPenalties(); - boolean isContraTransaction = loanTransactionDTO.isContra(); + final LoanTransactionDTO loanTransactionDTO, final Date transactionDate, String transactionId, final Long loanId) { + final BigDecimal principalAmount = loanTransactionDTO.getPrincipal(); + final BigDecimal interestAmount = loanTransactionDTO.getInterest(); + final BigDecimal feesAmount = loanTransactionDTO.getFees(); + final BigDecimal penaltiesAmount = loanTransactionDTO.getPenalties(); + final boolean isContraTransaction = loanTransactionDTO.isContra(); BigDecimal totalDebitAmount = new BigDecimal(0); @@ -273,90 +279,94 @@ public class JournalEntryWritePlatformServiceJpaRepositoryImpl implements Journa if (principalAmount != null && !(principalAmount.compareTo(BigDecimal.ZERO) == 0)) { totalDebitAmount = totalDebitAmount.add(principalAmount); - GLAccount loanPortfolioAccount = getLinkedFinAccountForLoanProduct(loanProductId, CASH_ACCOUNTS_FOR_LOAN.LOAN_PORTFOLIO); + final GLAccount loanPortfolioAccount = getLinkedFinAccountForLoanProduct(loanProductId, CASH_ACCOUNTS_FOR_LOAN.LOAN_PORTFOLIO); if (isContraTransaction) { - createDebitJournalEntryForLoanProduct(office, loanPortfolioAccount, loanId, transactionId, entryDate, principalAmount); + createDebitJournalEntryForLoanProduct(office, loanPortfolioAccount, loanId, transactionId, transactionDate, principalAmount); } else { - createCreditJournalEntryForLoanProduct(office, loanPortfolioAccount, loanId, transactionId, entryDate, principalAmount); + createCreditJournalEntryForLoanProduct(office, loanPortfolioAccount, loanId, transactionId, transactionDate, + principalAmount); } } if (interestAmount != null && !(interestAmount.compareTo(BigDecimal.ZERO) == 0)) { totalDebitAmount = totalDebitAmount.add(interestAmount); - GLAccount interestAccount = getLinkedFinAccountForLoanProduct(loanProductId, CASH_ACCOUNTS_FOR_LOAN.INTEREST_ON_LOANS); + final GLAccount interestAccount = getLinkedFinAccountForLoanProduct(loanProductId, CASH_ACCOUNTS_FOR_LOAN.INTEREST_ON_LOANS); if (isContraTransaction) { - createDebitJournalEntryForLoanProduct(office, interestAccount, loanId, transactionId, entryDate, interestAmount); + createDebitJournalEntryForLoanProduct(office, interestAccount, loanId, transactionId, transactionDate, interestAmount); } else { - createCreditJournalEntryForLoanProduct(office, interestAccount, loanId, transactionId, entryDate, interestAmount); + createCreditJournalEntryForLoanProduct(office, interestAccount, loanId, transactionId, transactionDate, interestAmount); } } if (feesAmount != null && !(feesAmount.compareTo(BigDecimal.ZERO) == 0)) { totalDebitAmount = totalDebitAmount.add(feesAmount); - GLAccount incomeFromFeesAccount = getLinkedFinAccountForLoanProduct(loanProductId, CASH_ACCOUNTS_FOR_LOAN.INCOME_FROM_FEES); + final GLAccount incomeFromFeesAccount = getLinkedFinAccountForLoanProduct(loanProductId, + CASH_ACCOUNTS_FOR_LOAN.INCOME_FROM_FEES); if (isContraTransaction) { - createDebitJournalEntryForLoanProduct(office, incomeFromFeesAccount, loanId, transactionId, entryDate, feesAmount); + createDebitJournalEntryForLoanProduct(office, incomeFromFeesAccount, loanId, transactionId, transactionDate, feesAmount); } else { - createCreditJournalEntryForLoanProduct(office, incomeFromFeesAccount, loanId, transactionId, entryDate, feesAmount); + createCreditJournalEntryForLoanProduct(office, incomeFromFeesAccount, loanId, transactionId, transactionDate, feesAmount); } } if (penaltiesAmount != null && !(penaltiesAmount.compareTo(BigDecimal.ZERO) == 0)) { totalDebitAmount = totalDebitAmount.add(penaltiesAmount); - GLAccount incomeFromPenaltiesAccount = getLinkedFinAccountForLoanProduct(loanProductId, + final GLAccount incomeFromPenaltiesAccount = getLinkedFinAccountForLoanProduct(loanProductId, CASH_ACCOUNTS_FOR_LOAN.INCOME_FROM_PENALTIES); if (isContraTransaction) { - createDebitJournalEntryForLoanProduct(office, incomeFromPenaltiesAccount, loanId, transactionId, entryDate, penaltiesAmount); + createDebitJournalEntryForLoanProduct(office, incomeFromPenaltiesAccount, loanId, transactionId, transactionDate, + penaltiesAmount); } else { - createCreditJournalEntryForLoanProduct(office, incomeFromPenaltiesAccount, loanId, transactionId, entryDate, + createCreditJournalEntryForLoanProduct(office, incomeFromPenaltiesAccount, loanId, transactionId, transactionDate, penaltiesAmount); } } - GLAccount fundSourceAccount = getLinkedFinAccountForLoanProduct(loanProductId, CASH_ACCOUNTS_FOR_LOAN.FUND_SOURCE); + final GLAccount fundSourceAccount = getLinkedFinAccountForLoanProduct(loanProductId, CASH_ACCOUNTS_FOR_LOAN.FUND_SOURCE); if (isContraTransaction) { - createCreditJournalEntryForLoanProduct(office, fundSourceAccount, loanId, transactionId, entryDate, totalDebitAmount); + createCreditJournalEntryForLoanProduct(office, fundSourceAccount, loanId, transactionId, transactionDate, totalDebitAmount); } else { - createDebitJournalEntryForLoanProduct(office, fundSourceAccount, loanId, transactionId, entryDate, totalDebitAmount); + createDebitJournalEntryForLoanProduct(office, fundSourceAccount, loanId, transactionId, transactionDate, totalDebitAmount); } } private GLAccount getLinkedFinAccountForLoanProduct(final Long loanProductId, final CASH_ACCOUNTS_FOR_LOAN finAccountType) { - ProductToGLAccountMapping accountMapping = accountMappingRepository.findByProductIdAndProductTypeAndFinancialAccountType( - loanProductId, PortfolioProductType.LOAN.getValue(), finAccountType.getValue()); + final ProductToGLAccountMapping accountMapping = this.accountMappingRepository + .findByProductIdAndProductTypeAndFinancialAccountType(loanProductId, PortfolioProductType.LOAN.getValue(), + finAccountType.getValue()); return accountMapping.getGlAccount(); } - private void createCreditJournalEntryForLoanProduct(Office office, GLAccount account, Long loanId, String transactionId, - Date entryDate, BigDecimal amount) { - JournalEntry journalEntry = JournalEntry.createNew(office, account, transactionId, true, entryDate, JournalEntryType.CREDIT, - amount, null, PortfolioProductType.LOAN.toString(), loanId); - glJournalEntryRepository.saveAndFlush(journalEntry); + private void createCreditJournalEntryForLoanProduct(final Office office, final GLAccount account, final Long loanId, + final String transactionId, final Date transactionDate, final BigDecimal amount) { + final JournalEntry journalEntry = JournalEntry.createNew(office, account, transactionId, true, transactionDate, + JournalEntryType.CREDIT, amount, null, PortfolioProductType.LOAN.toString(), loanId); + this.glJournalEntryRepository.saveAndFlush(journalEntry); } - private void createDebitJournalEntryForLoanProduct(Office office, GLAccount account, Long loanId, String transactionId, Date entryDate, - BigDecimal amount) { - JournalEntry journalEntry = JournalEntry.createNew(office, account, transactionId, true, entryDate, JournalEntryType.DEBIT, amount, - null, PortfolioProductType.LOAN.toString(), loanId); - glJournalEntryRepository.saveAndFlush(journalEntry); + private void createDebitJournalEntryForLoanProduct(final Office office, final GLAccount account, final Long loanId, + final String transactionId, final Date transactionDate, final BigDecimal amount) { + final JournalEntry journalEntry = JournalEntry.createNew(office, account, transactionId, true, transactionDate, + JournalEntryType.DEBIT, amount, null, PortfolioProductType.LOAN.toString(), loanId); + this.glJournalEntryRepository.saveAndFlush(journalEntry); } - private void validateBusinessRulesForJournalEntries(JournalEntryCommand command) { + private void validateBusinessRulesForJournalEntries(final JournalEntryCommand command) { /** check if date of Journal entry is valid ***/ - final LocalDate entryLocalDate = command.getEntryDate(); - Date entryDate = entryLocalDate.toDateMidnight().toDate(); + final LocalDate entryLocalDate = command.getTransactionDate(); + final Date transactionDate = entryLocalDate.toDateMidnight().toDate(); // shouldn't be in the future - Date todaysDate = new Date(); - if (entryDate.after(todaysDate)) { throw new JournalEntryInvalidException(GL_JOURNAL_ENTRY_INVALID_REASON.FUTURE_DATE, entryDate, - null, null); } + final Date todaysDate = new Date(); + if (transactionDate.after(todaysDate)) { throw new JournalEntryInvalidException(GL_JOURNAL_ENTRY_INVALID_REASON.FUTURE_DATE, + transactionDate, null, null); } // shouldn't be before an accounting closure - GLClosure latestGLClosure = glClosureRepository.getLatestGLClosureByBranch(command.getOfficeId()); + final GLClosure latestGLClosure = this.glClosureRepository.getLatestGLClosureByBranch(command.getOfficeId()); if (latestGLClosure != null) { - if (latestGLClosure.getClosingDate().after(entryDate) || latestGLClosure.getClosingDate().equals(entryDate)) { throw new JournalEntryInvalidException( + if (latestGLClosure.getClosingDate().after(transactionDate) || latestGLClosure.getClosingDate().equals(transactionDate)) { throw new JournalEntryInvalidException( GL_JOURNAL_ENTRY_INVALID_REASON.ACCOUNTING_CLOSED, latestGLClosure.getClosingDate(), null, null); } } /*** check if credits and debits are valid **/ - SingleDebitOrCreditEntryCommand[] credits = command.getCredits(); - SingleDebitOrCreditEntryCommand[] debits = command.getDebits(); + final SingleDebitOrCreditEntryCommand[] credits = command.getCredits(); + final SingleDebitOrCreditEntryCommand[] debits = command.getDebits(); // atleast one debit or credit must be present if ((credits == null || credits.length <= 0) || (debits == null || debits.length <= 0)) { throw new JournalEntryInvalidException( @@ -365,12 +375,12 @@ public class JournalEntryWritePlatformServiceJpaRepositoryImpl implements Journa // sum of all debits must be = sum of all credits BigDecimal creditsSum = BigDecimal.ZERO; BigDecimal debitsSum = BigDecimal.ZERO; - for (SingleDebitOrCreditEntryCommand creditEntryCommand : credits) { + for (final SingleDebitOrCreditEntryCommand creditEntryCommand : credits) { if (creditEntryCommand.getAmount() == null || creditEntryCommand.getGlAccountId() == null) { throw new JournalEntryInvalidException( GL_JOURNAL_ENTRY_INVALID_REASON.DEBIT_CREDIT_ACCOUNT_OR_AMOUNT_EMPTY, null, null, null); } creditsSum = creditsSum.add(creditEntryCommand.getAmount()); } - for (SingleDebitOrCreditEntryCommand debitEntryCommand : debits) { + for (final SingleDebitOrCreditEntryCommand debitEntryCommand : debits) { if (debitEntryCommand.getAmount() == null || debitEntryCommand.getGlAccountId() == null) { throw new JournalEntryInvalidException( GL_JOURNAL_ENTRY_INVALID_REASON.DEBIT_CREDIT_ACCOUNT_OR_AMOUNT_EMPTY, null, null, null); } debitsSum = debitsSum.add(debitEntryCommand.getAmount()); @@ -379,11 +389,11 @@ public class JournalEntryWritePlatformServiceJpaRepositoryImpl implements Journa GL_JOURNAL_ENTRY_INVALID_REASON.DEBIT_CREDIT_SUM_MISMATCH, null, null, null); } } - private void saveAllDebitOrCreditEntries(final JournalEntryCommand command, final Office office, final Date entryDate, + private void saveAllDebitOrCreditEntries(final JournalEntryCommand command, final Office office, final Date transactionDate, final SingleDebitOrCreditEntryCommand[] singleDebitOrCreditEntryCommands, final String transactionId, final JournalEntryType type) { - for (SingleDebitOrCreditEntryCommand singleDebitOrCreditEntryCommand : singleDebitOrCreditEntryCommands) { - GLAccount glAccount = glAccountRepository.findOne(singleDebitOrCreditEntryCommand.getGlAccountId()); + for (final SingleDebitOrCreditEntryCommand singleDebitOrCreditEntryCommand : singleDebitOrCreditEntryCommands) { + final GLAccount glAccount = this.glAccountRepository.findOne(singleDebitOrCreditEntryCommand.getGlAccountId()); if (glAccount == null) { throw new GLAccountNotFoundException(singleDebitOrCreditEntryCommand.getGlAccountId()); } /*** @@ -401,14 +411,14 @@ public class JournalEntryWritePlatformServiceJpaRepositoryImpl implements Journa if (!StringUtils.isBlank(singleDebitOrCreditEntryCommand.getComments())) { comments = singleDebitOrCreditEntryCommand.getComments(); } - JournalEntry glJournalEntry = JournalEntry.createNew(office, glAccount, transactionId, false, entryDate, type, + final JournalEntry glJournalEntry = JournalEntry.createNew(office, glAccount, transactionId, false, transactionDate, type, singleDebitOrCreditEntryCommand.getAmount(), comments, null, null); - glJournalEntryRepository.saveAndFlush(glJournalEntry); + this.glJournalEntryRepository.saveAndFlush(glJournalEntry); } } private void handleJournalEntryDataIntegrityIssues(final DataIntegrityViolationException dve) { - Throwable realCause = dve.getMostSpecificCause(); + final Throwable realCause = dve.getMostSpecificCause(); logger.error(dve.getMessage(), dve); throw new PlatformDataIntegrityException("error.msg.glJournalEntry.unknown.data.integrity.issue", "Unknown data integrity issue with resource Journal Entry: " + realCause.getMessage()); diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/producttoaccountmapping/domain/PortfolioProductType.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/producttoaccountmapping/domain/PortfolioProductType.java index 24dd1f987..7c8f10e58 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/producttoaccountmapping/domain/PortfolioProductType.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/producttoaccountmapping/domain/PortfolioProductType.java @@ -29,18 +29,18 @@ public enum PortfolioProductType { } public String getCode() { - return code; + return this.code; } private static final Map intToEnumMap = new HashMap(); static { - for (PortfolioProductType type : PortfolioProductType.values()) { + for (final PortfolioProductType type : PortfolioProductType.values()) { intToEnumMap.put(type.value, type); } } - public static PortfolioProductType fromInt(int i) { - PortfolioProductType type = intToEnumMap.get(Integer.valueOf(i)); + public static PortfolioProductType fromInt(final int i) { + final PortfolioProductType type = intToEnumMap.get(Integer.valueOf(i)); return type; } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/producttoaccountmapping/domain/ProductToGLAccountMapping.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/producttoaccountmapping/domain/ProductToGLAccountMapping.java index b2cdc45b6..310b64277 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/producttoaccountmapping/domain/ProductToGLAccountMapping.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/producttoaccountmapping/domain/ProductToGLAccountMapping.java @@ -43,7 +43,7 @@ public class ProductToGLAccountMapping extends AbstractPersistable { // } - public ProductToGLAccountMapping(GLAccount glAccount, Long productId, int productType, int financialAccountType) { + public ProductToGLAccountMapping(final GLAccount glAccount, final Long productId, final int productType, final int financialAccountType) { this.glAccount = glAccount; this.productId = productId; this.productType = productType; @@ -54,7 +54,7 @@ public class ProductToGLAccountMapping extends AbstractPersistable { return this.glAccount; } - public void setGlAccount(GLAccount glAccount) { + public void setGlAccount(final GLAccount glAccount) { this.glAccount = glAccount; } @@ -62,7 +62,7 @@ public class ProductToGLAccountMapping extends AbstractPersistable { return this.productId; } - public void setProductId(Long productId) { + public void setProductId(final Long productId) { this.productId = productId; } @@ -70,7 +70,7 @@ public class ProductToGLAccountMapping extends AbstractPersistable { return this.productType; } - public void setProductType(int productType) { + public void setProductType(final int productType) { this.productType = productType; } @@ -78,7 +78,7 @@ public class ProductToGLAccountMapping extends AbstractPersistable { return this.financialAccountType; } - public void setFinancialAccountType(int financialAccountType) { + public void setFinancialAccountType(final int financialAccountType) { this.financialAccountType = financialAccountType; } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/producttoaccountmapping/exception/ProductToGLAccountMappingInvalidException.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/producttoaccountmapping/exception/ProductToGLAccountMappingInvalidException.java index 0c7369714..4e888a7f8 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/producttoaccountmapping/exception/ProductToGLAccountMappingInvalidException.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/producttoaccountmapping/exception/ProductToGLAccountMappingInvalidException.java @@ -13,8 +13,8 @@ import org.mifosplatform.infrastructure.core.exception.AbstractPlatformDomainRul */ public class ProductToGLAccountMappingInvalidException extends AbstractPlatformDomainRuleException { - public ProductToGLAccountMappingInvalidException(final String paramName, String accountName, Long accountId, - String actualAccountCategory, String expectedAccountCategory) { + public ProductToGLAccountMappingInvalidException(final String paramName, final String accountName, final Long accountId, + final String actualAccountCategory, final String expectedAccountCategory) { super("error.msg." + paramName + ".invalid.account.type", "Passed in GLAccount " + paramName + " with Id " + accountId + "maps to the account " + accountName + " of type " + actualAccountCategory + ", the expected account type was " + expectedAccountCategory, paramName, accountId, accountName, actualAccountCategory, expectedAccountCategory); diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/producttoaccountmapping/exception/ProductToGLAccountMappingNotFoundException.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/producttoaccountmapping/exception/ProductToGLAccountMappingNotFoundException.java index 69d00dd1c..5a4d41207 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/producttoaccountmapping/exception/ProductToGLAccountMappingNotFoundException.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/producttoaccountmapping/exception/ProductToGLAccountMappingNotFoundException.java @@ -14,7 +14,7 @@ import org.mifosplatform.infrastructure.core.exception.AbstractPlatformResourceN */ public class ProductToGLAccountMappingNotFoundException extends AbstractPlatformResourceNotFoundException { - public ProductToGLAccountMappingNotFoundException(final PortfolioProductType type, final Long productId, String accountType) { + public ProductToGLAccountMappingNotFoundException(final PortfolioProductType type, final Long productId, final String accountType) { super("error.msg.productTyAccountMapping.not.found", "Mapping for product of type" + type.toString() + " with Id " + productId + " does not exist for an account of type " + accountType, type.toString(), productId, accountType); } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/producttoaccountmapping/serialization/ProductToGLAccountMappingFromApiJsonDeserializer.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/producttoaccountmapping/serialization/ProductToGLAccountMappingFromApiJsonDeserializer.java index 8938b4d27..cb708f7e5 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/producttoaccountmapping/serialization/ProductToGLAccountMappingFromApiJsonDeserializer.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/producttoaccountmapping/serialization/ProductToGLAccountMappingFromApiJsonDeserializer.java @@ -65,40 +65,41 @@ public final class ProductToGLAccountMappingFromApiJsonDeserializer { final List dataValidationErrors = new ArrayList(); final DataValidatorBuilder baseDataValidator = new DataValidatorBuilder(dataValidationErrors).resource("loanproduct"); - final JsonElement element = fromApiJsonHelper.parse(json); + final JsonElement element = this.fromApiJsonHelper.parse(json); // accounting related data validation - final Integer accountingRuleType = fromApiJsonHelper.extractIntegerNamed("accountingRule", element, Locale.getDefault()); + final Integer accountingRuleType = this.fromApiJsonHelper.extractIntegerNamed("accountingRule", element, Locale.getDefault()); baseDataValidator.reset().parameter("accountingRule").value(accountingRuleType).notNull().inMinMaxRange(1, 3); if (isCashBasedAccounting(accountingRuleType) || isAccrualBasedAccounting(accountingRuleType)) { - final Long fundAccountId = fromApiJsonHelper.extractLongNamed(LOAN_PRODUCT_ACCOUNTING_PARAMS.FUND_SOURCE.getValue(), element); + final Long fundAccountId = this.fromApiJsonHelper.extractLongNamed(LOAN_PRODUCT_ACCOUNTING_PARAMS.FUND_SOURCE.getValue(), + element); baseDataValidator.reset().parameter(LOAN_PRODUCT_ACCOUNTING_PARAMS.FUND_SOURCE.getValue()).value(fundAccountId).notNull() .integerGreaterThanZero(); - final Long loanPortfolioAccountId = fromApiJsonHelper.extractLongNamed( + final Long loanPortfolioAccountId = this.fromApiJsonHelper.extractLongNamed( LOAN_PRODUCT_ACCOUNTING_PARAMS.LOAN_PORTFOLIO.getValue(), element); baseDataValidator.reset().parameter(LOAN_PRODUCT_ACCOUNTING_PARAMS.LOAN_PORTFOLIO.getValue()).value(loanPortfolioAccountId) .notNull().integerGreaterThanZero(); - final Long incomeFromInterestId = fromApiJsonHelper.extractLongNamed( + final Long incomeFromInterestId = this.fromApiJsonHelper.extractLongNamed( LOAN_PRODUCT_ACCOUNTING_PARAMS.INTEREST_ON_LOANS.getValue(), element); baseDataValidator.reset().parameter(LOAN_PRODUCT_ACCOUNTING_PARAMS.INTEREST_ON_LOANS.getValue()).value(incomeFromInterestId) .notNull().integerGreaterThanZero(); - final Long incomeFromFeeId = fromApiJsonHelper.extractLongNamed(LOAN_PRODUCT_ACCOUNTING_PARAMS.INCOME_FROM_FEES.getValue(), - element); + final Long incomeFromFeeId = this.fromApiJsonHelper.extractLongNamed( + LOAN_PRODUCT_ACCOUNTING_PARAMS.INCOME_FROM_FEES.getValue(), element); baseDataValidator.reset().parameter(LOAN_PRODUCT_ACCOUNTING_PARAMS.INCOME_FROM_FEES.getValue()).value(incomeFromFeeId) .notNull().integerGreaterThanZero(); - final Long incomeFromPenaltyId = fromApiJsonHelper.extractLongNamed( + final Long incomeFromPenaltyId = this.fromApiJsonHelper.extractLongNamed( LOAN_PRODUCT_ACCOUNTING_PARAMS.INCOME_FROM_PENALTIES.getValue(), element); baseDataValidator.reset().parameter(LOAN_PRODUCT_ACCOUNTING_PARAMS.INCOME_FROM_PENALTIES.getValue()).value(incomeFromPenaltyId) .notNull().integerGreaterThanZero(); - final Long writeOffAccountId = fromApiJsonHelper.extractLongNamed(LOAN_PRODUCT_ACCOUNTING_PARAMS.LOSSES_WRITTEN_OFF.getValue(), - element); + final Long writeOffAccountId = this.fromApiJsonHelper.extractLongNamed( + LOAN_PRODUCT_ACCOUNTING_PARAMS.LOSSES_WRITTEN_OFF.getValue(), element); baseDataValidator.reset().parameter(LOAN_PRODUCT_ACCOUNTING_PARAMS.LOSSES_WRITTEN_OFF.getValue()).value(writeOffAccountId) .notNull().integerGreaterThanZero(); @@ -106,17 +107,17 @@ public final class ProductToGLAccountMappingFromApiJsonDeserializer { if (isAccrualBasedAccounting(accountingRuleType)) { - final Long receivableInterestAccountId = fromApiJsonHelper.extractLongNamed( + final Long receivableInterestAccountId = this.fromApiJsonHelper.extractLongNamed( LOAN_PRODUCT_ACCOUNTING_PARAMS.INTEREST_RECEIVABLE.getValue(), element); baseDataValidator.reset().parameter(LOAN_PRODUCT_ACCOUNTING_PARAMS.INTEREST_RECEIVABLE.getValue()) .value(receivableInterestAccountId).notNull().integerGreaterThanZero(); - final Long receivableFeeAccountId = fromApiJsonHelper.extractLongNamed( + final Long receivableFeeAccountId = this.fromApiJsonHelper.extractLongNamed( LOAN_PRODUCT_ACCOUNTING_PARAMS.FEES_RECEIVABLE.getValue(), element); baseDataValidator.reset().parameter(LOAN_PRODUCT_ACCOUNTING_PARAMS.FEES_RECEIVABLE.getValue()).value(receivableFeeAccountId) .notNull().integerGreaterThanZero(); - final Long receivablePenaltyAccountId = fromApiJsonHelper.extractLongNamed( + final Long receivablePenaltyAccountId = this.fromApiJsonHelper.extractLongNamed( LOAN_PRODUCT_ACCOUNTING_PARAMS.PENALTIES_RECEIVABLE.getValue(), element); baseDataValidator.reset().parameter(LOAN_PRODUCT_ACCOUNTING_PARAMS.PENALTIES_RECEIVABLE.getValue()) .value(receivablePenaltyAccountId).notNull().integerGreaterThanZero(); diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/producttoaccountmapping/service/ProductToGLAccountMappingReadPlatformServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/producttoaccountmapping/service/ProductToGLAccountMappingReadPlatformServiceImpl.java index f0e95ed9a..da8987119 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/producttoaccountmapping/service/ProductToGLAccountMappingReadPlatformServiceImpl.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/producttoaccountmapping/service/ProductToGLAccountMappingReadPlatformServiceImpl.java @@ -70,10 +70,10 @@ public class ProductToGLAccountMappingReadPlatformServiceImpl implements Product if (AccountingRuleType.CASH_BASED.getValue().equals(accountingType)) { - for (Map productToGLAccountMap : listOfProductToGLAccountMaps) { + for (final Map productToGLAccountMap : listOfProductToGLAccountMaps) { final Integer financialAccountType = (Integer) productToGLAccountMap.get("financialAccountType"); - CASH_ACCOUNTS_FOR_LOAN glAccountForLoan = CASH_ACCOUNTS_FOR_LOAN.fromInt(financialAccountType); + final CASH_ACCOUNTS_FOR_LOAN glAccountForLoan = CASH_ACCOUNTS_FOR_LOAN.fromInt(financialAccountType); final Long glAccountId = (Long) productToGLAccountMap.get("glAccountId"); @@ -93,9 +93,9 @@ public class ProductToGLAccountMappingReadPlatformServiceImpl implements Product } } else if (AccountingRuleType.ACCRUAL_BASED.getValue().equals(accountingType)) { - for (Map productToGLAccountMap : listOfProductToGLAccountMaps) { + for (final Map productToGLAccountMap : listOfProductToGLAccountMaps) { final Integer financialAccountType = (Integer) productToGLAccountMap.get("financialAccountType"); - ACCRUAL_ACCOUNTS_FOR_LOAN glAccountForLoan = ACCRUAL_ACCOUNTS_FOR_LOAN.fromInt(financialAccountType); + final ACCRUAL_ACCOUNTS_FOR_LOAN glAccountForLoan = ACCRUAL_ACCOUNTS_FOR_LOAN.fromInt(financialAccountType); final Long glAccountId = (Long) productToGLAccountMap.get("glAccountId"); diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/producttoaccountmapping/service/ProductToGLAccountMappingWritePlatformServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/producttoaccountmapping/service/ProductToGLAccountMappingWritePlatformServiceImpl.java index 089f11475..28afe4615 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/producttoaccountmapping/service/ProductToGLAccountMappingWritePlatformServiceImpl.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/producttoaccountmapping/service/ProductToGLAccountMappingWritePlatformServiceImpl.java @@ -111,7 +111,7 @@ public class ProductToGLAccountMappingWritePlatformServiceImpl implements Produc @Override @Transactional public Map updateLoanProductToGLAccountMapping(final Long loanProductId, final JsonCommand command, - final boolean accountingRuleChanged, int accountingRuleTypeId) { + final boolean accountingRuleChanged, final int accountingRuleTypeId) { /*** * Variable tracks all accounting mapping properties that have been * updated @@ -125,7 +125,7 @@ public class ProductToGLAccountMappingWritePlatformServiceImpl implements Produc * for the product and recreate a new set of mappings ***/ if (accountingRuleChanged) { - deserializer.validateForCreate(command.json()); + this.deserializer.validateForCreate(command.json()); handleChangesToAccountingRuleType(loanProductId, command, changes, element, accountingRuleType); }/*** else examine and update individual changes ***/ else {
entryDatetransactionDate
The target date for which this @@ -9798,7 +9798,7 @@ GET https://DomainName/api/v1/journalentries?transactionId=PB37X8Y21EQUY4S "code": "accountType.equity", "value": "EQUITY" }, - "entryDate": [ + "transactionDate": [ 2012, 12, 12 @@ -9832,7 +9832,7 @@ GET https://DomainName/api/v1/journalentries?transactionId=PB37X8Y21EQUY4S "code": "accountType.equity", "value": "EQUITY" }, - "entryDate": [ + "transactionDate": [ 2012, 12, 12 @@ -9877,7 +9877,7 @@ GET https://DomainName/api/v1/journalentries?transactionId=PB37X8Y21EQUY4S
Mandatory Fields
officeId, entryDate + officeId, transactionDate