refactoring additional fields for data scope

This commit is contained in:
John Woodlock
2012-08-30 19:05:49 +10:00
parent f09d781005
commit 508a46e537
@@ -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()) { 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 pValueWrite = "";
String saveSql = ""; String saveSql = "";
String singleQuote = "'"; String singleQuote = "'";
@@ -326,29 +330,23 @@ public class ReadWriteNonCoreDataServiceImpl implements
boolean firstColumn = true; boolean firstColumn = true;
saveSql = "update `" + fullSetName + "` "; saveSql = "update `" + fullSetName + "` ";
for (String key : keys) { for (String key : updatedColumns.keySet()) {
if (!(key.equalsIgnoreCase("id"))) { if (firstColumn) {
if (firstColumn) { saveSql += " set ";
saveSql += " set "; firstColumn = false;
firstColumn = false; } else {
} else { saveSql += ", ";
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;
} }
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; saveSql += " where id = " + id;
@@ -356,25 +354,19 @@ public class ReadWriteNonCoreDataServiceImpl implements
String insertColumns = ""; String insertColumns = "";
String selectColumns = ""; String selectColumns = "";
String columnName = ""; String columnName = "";
for (String key : keys) { for (String key : updatedColumns.keySet()) {
pValue = queryParams.get(key); pValue = updatedColumns.get(key);
if (!(key.equalsIgnoreCase("id"))) {
pValue = queryParams.get(key); if (StringUtils.isEmpty(pValue)) {
if (pValue == null || pValue.equals("")) { pValueWrite = "null";
pValueWrite = "null"; } else {
} else { pValueWrite = singleQuote
pValueWrite = singleQuote + genericDataService.replace(pValue, singleQuote,
+ genericDataService.replace(pValue, singleQuote + singleQuote) + singleQuote;
singleQuote, singleQuote + singleQuote)
+ singleQuote;
}
columnName = "`"
+ genericDataService
.replace(key, underscore, space) + "`";
insertColumns += ", " + columnName;
selectColumns += "," + pValueWrite + " as " + columnName;
} }
columnName = "`" + key + "`";
insertColumns += ", " + columnName;
selectColumns += "," + pValueWrite + " as " + columnName;
} }
saveSql = "insert into `" + fullSetName + "` (id" + insertColumns saveSql = "insert into `" + fullSetName + "` (id" + insertColumns