From 508a46e537c55b91b2f971a01574d1d8cdeb7e51 Mon Sep 17 00:00:00 2001 From: John Woodlock Date: Thu, 30 Aug 2012 19:05:04 +1000 Subject: [PATCH] refactoring additional fields for data scope --- .../ReadWriteNonCoreDataServiceImpl.java | 84 +++++++++---------- 1 file changed, 38 insertions(+), 46 deletions(-) diff --git a/mifosng-provider/src/main/java/org/mifosng/platform/noncore/ReadWriteNonCoreDataServiceImpl.java b/mifosng-provider/src/main/java/org/mifosng/platform/noncore/ReadWriteNonCoreDataServiceImpl.java index f336d5c1a..db1afeacd 100644 --- a/mifosng-provider/src/main/java/org/mifosng/platform/noncore/ReadWriteNonCoreDataServiceImpl.java +++ b/mifosng-provider/src/main/java/org/mifosng/platform/noncore/ReadWriteNonCoreDataServiceImpl.java @@ -291,9 +291,9 @@ public class ReadWriteNonCoreDataServiceImpl implements List columnHeaders = readResultset .getColumnHeaders(); List columnValues = readResultset.getData().get(0).getRow(); - + Map updatedColumns = new HashMap(); - + for (String key : keys) { if (!(key.equalsIgnoreCase("id"))) { keyUpdated = genericDataService.replace(key, underscore, space); @@ -310,14 +310,18 @@ public class ReadWriteNonCoreDataServiceImpl implements } } - + // just updating fields that have changed since pre-update read - though + // its possible these values are different from the page the user was + // looking at and even different from the current db values (if some + // other update got in quick) - would need a version field for + // completeness but its okay to take this risk with additional fields + // data for (String key : updatedColumns.keySet()) { - logger.info("Update Column: " + key + " - Value: " + updatedColumns.get(key)); + logger.info("Update Column: " + key + " - Value: " + + updatedColumns.get(key)); } - - - + String pValueWrite = ""; String saveSql = ""; String singleQuote = "'"; @@ -326,29 +330,23 @@ public class ReadWriteNonCoreDataServiceImpl implements boolean firstColumn = true; saveSql = "update `" + fullSetName + "` "; - for (String key : keys) { - if (!(key.equalsIgnoreCase("id"))) { - if (firstColumn) { - saveSql += " set "; - firstColumn = false; - } else { - saveSql += ", "; - } - - pValue = queryParams.get(key); - if (pValue == null || pValue.equals("")) { - pValueWrite = "null"; - } else { - pValueWrite = singleQuote - + genericDataService.replace(pValue, - singleQuote, singleQuote + singleQuote) - + singleQuote; - } - saveSql += "`" - + genericDataService - .replace(key, underscore, space) + "` = " - + pValueWrite; + for (String key : updatedColumns.keySet()) { + if (firstColumn) { + saveSql += " set "; + firstColumn = false; + } else { + saveSql += ", "; } + + pValue = updatedColumns.get(key); + if (StringUtils.isEmpty(pValue)) { + pValueWrite = "null"; + } else { + pValueWrite = singleQuote + + genericDataService.replace(pValue, singleQuote, + singleQuote + singleQuote) + singleQuote; + } + saveSql += "`" + key + "` = " + pValueWrite; } saveSql += " where id = " + id; @@ -356,25 +354,19 @@ public class ReadWriteNonCoreDataServiceImpl implements String insertColumns = ""; String selectColumns = ""; String columnName = ""; - for (String key : keys) { - pValue = queryParams.get(key); - if (!(key.equalsIgnoreCase("id"))) { + for (String key : updatedColumns.keySet()) { + pValue = updatedColumns.get(key); - pValue = queryParams.get(key); - if (pValue == null || pValue.equals("")) { - pValueWrite = "null"; - } else { - pValueWrite = singleQuote - + genericDataService.replace(pValue, - singleQuote, singleQuote + singleQuote) - + singleQuote; - } - columnName = "`" - + genericDataService - .replace(key, underscore, space) + "`"; - insertColumns += ", " + columnName; - selectColumns += "," + pValueWrite + " as " + columnName; + if (StringUtils.isEmpty(pValue)) { + pValueWrite = "null"; + } else { + pValueWrite = singleQuote + + genericDataService.replace(pValue, singleQuote, + singleQuote + singleQuote) + singleQuote; } + columnName = "`" + key + "`"; + insertColumns += ", " + columnName; + selectColumns += "," + pValueWrite + " as " + columnName; } saveSql = "insert into `" + fullSetName + "` (id" + insertColumns