VLab Issue #8200 - DR17493 Saving a Selected Preset in Hydro PDC does not function; fixes #8200

Change-Id: I3fb9a7e43057f374a3d055a3ab294eca094a16cb

Former-commit-id: f4cfa77511b9d887006582da8dc7dd4f044b4d3e
This commit is contained in:
Jingtao Deng 2015-05-15 16:04:48 -04:00
parent 8a24700ebb
commit 0dea4811cd
2 changed files with 24 additions and 2 deletions

View file

@ -176,8 +176,8 @@ public class PDCDataManager extends HydroDataManager {
SqlBuilder sql = new SqlBuilder("pointdatapresets");
sql.setSqlType(SqlBuilder.UPDATE);
sql.addString("descr", node.getDescription());
sql.addInt("preset_rank", node.getPresetRank());
sql.addString("preset_string", node.getPresetString());
sql.addInt(" preset_rank", node.getPresetRank());
sql.addString(" preset_string", node.getPresetString());
sql.setWhereClause(" where preset_id = '" + node.getPresetId() + "'");
runStatement(sql.toString());

View file

@ -149,6 +149,19 @@ public abstract class HydroDataManager {
/* Check if text fields include single apostrophe, if it does, replace to
two single apostrophe since it is treated as special char in Postgres */
String newDataQuery = "";
String PDCDataStr = "";
int PDC_presetStr_begindex = 0;
/* special handling for PDC*/
if (dataQuery.toLowerCase().contains("preset_string"))
{
PDC_presetStr_begindex = dataQuery.toLowerCase().indexOf("'at=");
if (PDC_presetStr_begindex > 0)
{
PDCDataStr = dataQuery.substring(PDC_presetStr_begindex);
dataQuery = dataQuery.substring(0, PDC_presetStr_begindex);
}
}
String[] dataElement = dataQuery.split(", ");
for (int j = 0; j < dataElement.length; j++)
@ -217,6 +230,15 @@ public abstract class HydroDataManager {
else
newDataQuery = newDataQuery + newSubData + ", ";
}
if (PDC_presetStr_begindex > 0)
{
if (newDataQuery.toLowerCase().startsWith("insert"))
newDataQuery = newDataQuery + ", " + PDCDataStr;
else if (newDataQuery.toLowerCase().startsWith("update"))
newDataQuery = newDataQuery + PDCDataStr;
}
return newDataQuery;
}