From e0ee6fe431d42d7025244ba06bda71f754f1a500 Mon Sep 17 00:00:00 2001
From: Purodha Blissenbach <purodha.blissenbach@hostsharing.net>
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.

---
 hsarback/src/de/hsadmin/cliClientConnector/CLIClientConnectorServlet.java |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

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 @@
 		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 + ")");

--
Gitblit v1.9.0-SNAPSHOT