From e0ee6fe431d42d7025244ba06bda71f754f1a500 Mon Sep 17 00:00:00 2001 From: Purodha Blissenbach Date: Fri, 21 Sep 2012 15:18:17 +0200 Subject: [PATCH] values of where-paremeters named "id" are now treated as numbers when reading from command line client. This is a guess-based trial. --- .../cliClientConnector/CLIClientConnectorServlet.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hsarback/src/de/hsadmin/cliClientConnector/CLIClientConnectorServlet.java b/hsarback/src/de/hsadmin/cliClientConnector/CLIClientConnectorServlet.java index f70e74f..63e475a 100644 --- a/hsarback/src/de/hsadmin/cliClientConnector/CLIClientConnectorServlet.java +++ b/hsarback/src/de/hsadmin/cliClientConnector/CLIClientConnectorServlet.java @@ -213,9 +213,12 @@ public class CLIClientConnectorServlet extends HttpServlet { while (wkeys.hasNext()) { String k = (String) wkeys.next(); String kname = hasGetter(eType, k); + String kvalue = ( (k.equals("id")) + ? ( AbstractEntity.escapeString(where.get(k)) ) + : ( "'" + AbstractEntity.escapeString(where.get(k)) + "'" ) ); if (kname != null) { rval += (first ? "" : " and ") - + "(obj." + AbstractEntity.escapeString(kname) + " = '" + AbstractEntity.escapeString(where.get(k)) + "')"; + + "(obj." + AbstractEntity.escapeString(kname) + " = " + kvalue + ")"; first = false; } else { throw new ServletException("illegal input (unknown field: " + k + ")");