You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by na...@apache.org on 2017/05/18 10:40:42 UTC

fineract git commit: Fixing Connection abandoned with Column Validator

Repository: fineract
Updated Branches:
  refs/heads/develop 0d7cf3a28 -> 3f0d653d3


Fixing Connection abandoned with Column Validator


Project: http://git-wip-us.apache.org/repos/asf/fineract/repo
Commit: http://git-wip-us.apache.org/repos/asf/fineract/commit/3f0d653d
Tree: http://git-wip-us.apache.org/repos/asf/fineract/tree/3f0d653d
Diff: http://git-wip-us.apache.org/repos/asf/fineract/diff/3f0d653d

Branch: refs/heads/develop
Commit: 3f0d653d3af1732082791f5082e8d71d1cb4d089
Parents: 0d7cf3a
Author: Nazeer Hussain Shaik <na...@confluxtechnologies.com>
Authored: Thu May 18 16:10:11 2017 +0530
Committer: Nazeer Hussain Shaik <na...@confluxtechnologies.com>
Committed: Thu May 18 16:10:11 2017 +0530

----------------------------------------------------------------------
 .../infrastructure/security/utils/ColumnValidator.java | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/fineract/blob/3f0d653d/fineract-provider/src/main/java/org/apache/fineract/infrastructure/security/utils/ColumnValidator.java
----------------------------------------------------------------------
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/security/utils/ColumnValidator.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/security/utils/ColumnValidator.java
index 6e1b0cb..c2a261a 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/security/utils/ColumnValidator.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/security/utils/ColumnValidator.java
@@ -18,6 +18,7 @@
  */
 package org.apache.fineract.infrastructure.security.utils;
 
+import java.sql.Connection;
 import java.sql.DatabaseMetaData;
 import java.sql.ResultSet;
 import java.sql.SQLException;
@@ -32,6 +33,7 @@ import java.util.Set;
 import org.apache.fineract.infrastructure.core.service.RoutingDataSource;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.jdbc.datasource.DataSourceUtils;
 import org.springframework.stereotype.Component;
 
 @Component
@@ -45,9 +47,11 @@ public class ColumnValidator {
 	}
 
 	private void validateColumn(Map<String, Set<String>> tableColumnMap) {
+		Connection connection = null ;
 		try {
-			DatabaseMetaData dbMetaData = this.jdbcTemplate.getDataSource()
-					.getConnection().getMetaData();
+			connection = this.jdbcTemplate.getDataSource()
+					.getConnection() ;
+			DatabaseMetaData dbMetaData = connection.getMetaData();
 			ResultSet resultSet = null;
 			for (HashMap.Entry<String, Set<String>> entry : tableColumnMap
 					.entrySet()) {
@@ -66,6 +70,11 @@ public class ColumnValidator {
 			}
 		} catch (SQLException e) {
 			throw new SQLInjectionException();
+		}finally {
+			if(connection != null) {
+				DataSourceUtils.releaseConnection(connection, jdbcTemplate.getDataSource());
+			}
+			connection = null ;
 		}
 	}