You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by ra...@apache.org on 2016/02/10 08:50:20 UTC
incubator-fineract git commit: mysql data type changes and provisiong
update validation changes
Repository: incubator-fineract
Updated Branches:
refs/heads/develop 06fd26b89 -> bb4799f58
mysql data type changes and provisiong update validation changes
Project: http://git-wip-us.apache.org/repos/asf/incubator-fineract/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-fineract/commit/bb4799f5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-fineract/tree/bb4799f5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-fineract/diff/bb4799f5
Branch: refs/heads/develop
Commit: bb4799f583197d2ef21843b9389ba4061916aa0c
Parents: 06fd26b
Author: unknown <na...@confluxtechnologies.com>
Authored: Tue Feb 9 18:17:56 2016 +0530
Committer: unknown <na...@confluxtechnologies.com>
Committed: Tue Feb 9 18:17:56 2016 +0530
----------------------------------------------------------------------
.../data/ResultsetColumnHeaderData.java | 17 +++++++++-
...iaWritePlatformServiceJpaRepositoryImpl.java | 34 ++++++++++++--------
2 files changed, 37 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/bb4799f5/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/ResultsetColumnHeaderData.java
----------------------------------------------------------------------
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/ResultsetColumnHeaderData.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/ResultsetColumnHeaderData.java
index 3e998b1..e84149c 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/ResultsetColumnHeaderData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/ResultsetColumnHeaderData.java
@@ -29,7 +29,7 @@ import org.apache.fineract.infrastructure.core.exception.PlatformDataIntegrityEx
public final class ResultsetColumnHeaderData {
private final String columnName;
- private final String columnType;
+ private String columnType;
private final Long columnLength;
private final String columnDisplayType;
private final boolean isColumnNullable;
@@ -68,6 +68,21 @@ public final class ResultsetColumnHeaderData {
this.columnValues = columnValues;
this.columnCode = columnCode;
+ if("NEWDECIMAL".equalsIgnoreCase(this.columnType)) {
+ this.columnType = "DECIMAL" ;
+ //Refer org.drizzle.jdbc.internal.mysql.MySQLType.java
+ }
+
+ if("CLOB".equalsIgnoreCase(this.columnType)) {
+ this.columnType = "varchar" ;
+ //Drizzle is returning some of the String data a CLOB
+ }
+
+ if("LONGLONG".equalsIgnoreCase(this.columnType) || "LONG".equalsIgnoreCase(this.columnType)) {
+ this.columnType = "bigint" ;
+ //Refer org.drizzle.jdbc.internal.mysql.MySQLType.java
+ }
+
String displayType = null;
if (this.columnCode == null) {
if (isString()) {
http://git-wip-us.apache.org/repos/asf/incubator-fineract/blob/bb4799f5/fineract-provider/src/main/java/org/apache/fineract/organisation/provisioning/service/ProvisioningCriteriaWritePlatformServiceJpaRepositoryImpl.java
----------------------------------------------------------------------
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/provisioning/service/ProvisioningCriteriaWritePlatformServiceJpaRepositoryImpl.java b/fineract-provider/src/main/java/org/apache/fineract/organisation/provisioning/service/ProvisioningCriteriaWritePlatformServiceJpaRepositoryImpl.java
index 48f5554..0c7f599 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/organisation/provisioning/service/ProvisioningCriteriaWritePlatformServiceJpaRepositoryImpl.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/organisation/provisioning/service/ProvisioningCriteriaWritePlatformServiceJpaRepositoryImpl.java
@@ -104,19 +104,23 @@ public class ProvisioningCriteriaWritePlatformServiceJpaRepositoryImpl implement
@Override
public CommandProcessingResult updateProvisioningCriteria(final Long criteriaId, JsonCommand command) {
- this.fromApiJsonDeserializer.validateForUpdate(command.json());
- ProvisioningCriteria provisioningCriteria = provisioningCriteriaRepository.findOne(criteriaId) ;
- if(provisioningCriteria == null) {
- throw new ProvisioningCategoryNotFoundException(criteriaId) ;
- }
- List<LoanProduct> products = this.provisioningCriteriaAssembler.parseLoanProducts(command.parsedJson()) ;
-
- final Map<String, Object> changes = provisioningCriteria.update(command, products) ;
- if(!changes.isEmpty()) {
- updateProvisioningCriteriaDefinitions(provisioningCriteria, command) ;
- provisioningCriteriaRepository.save(provisioningCriteria) ;
+ try {
+ this.fromApiJsonDeserializer.validateForUpdate(command.json());
+ ProvisioningCriteria provisioningCriteria = provisioningCriteriaRepository.findOne(criteriaId) ;
+ if(provisioningCriteria == null) {
+ throw new ProvisioningCategoryNotFoundException(criteriaId) ;
+ }
+ List<LoanProduct> products = this.provisioningCriteriaAssembler.parseLoanProducts(command.parsedJson()) ;
+ final Map<String, Object> changes = provisioningCriteria.update(command, products) ;
+ if(!changes.isEmpty()) {
+ updateProvisioningCriteriaDefinitions(provisioningCriteria, command) ;
+ provisioningCriteriaRepository.save(provisioningCriteria) ;
+ }
+ return new CommandProcessingResultBuilder().withCommandId(command.commandId()).withEntityId(provisioningCriteria.getId()).build();
+ } catch (final DataIntegrityViolationException dve) {
+ handleDataIntegrityIssues(command, dve);
+ return CommandProcessingResult.empty();
}
- return new CommandProcessingResultBuilder().withCommandId(command.commandId()).withEntityId(provisioningCriteria.getId()).build();
}
private void updateProvisioningCriteriaDefinitions(ProvisioningCriteria provisioningCriteria, JsonCommand command) {
@@ -156,7 +160,11 @@ public class ProvisioningCriteriaWritePlatformServiceJpaRepositoryImpl implement
final String name = command.stringValueOfParameterNamed("criteria_name");
throw new PlatformDataIntegrityException("error.msg.provisioning.duplicate.criterianame", "Provisioning Criteria with name `"
+ name + "` already exists", "category name", name);
- }
+ }else if (realCause.getMessage().contains("product_id")) {
+ throw new PlatformDataIntegrityException(
+ "error.msg.provisioning.product.id(s).already.associated.existing.criteria",
+ "The selected products already associated with another Provisioning Criteria");
+ }
logger.error(dve.getMessage(), dve);
throw new PlatformDataIntegrityException("error.msg.provisioning.unknown.data.integrity.issue",
"Unknown data integrity issue with resource: " + realCause.getMessage());