From fea6d4bbeb9dedbd9396ffb57575d53c9442c0f7 Mon Sep 17 00:00:00 2001 From: Matti Tahvonen Date: Mon, 17 Dec 2007 13:46:43 +0000 Subject: [PATCH] changed underscores to pipes in parameter keys (now allows to have underscore in testingID and paramater names) svn changeset:3246/svn branch:trunk --- .../terminal/gwt/client/ApplicationConnection.java | 2 +- .../terminal/gwt/server/CommunicationManager.java | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ApplicationConnection.java b/src/com/itmill/toolkit/terminal/gwt/client/ApplicationConnection.java index a1a758903a..fd0f2edea6 100755 --- a/src/com/itmill/toolkit/terminal/gwt/client/ApplicationConnection.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ApplicationConnection.java @@ -373,7 +373,7 @@ public class ApplicationConnection { private void addVariableToQueue(String paintableId, String variableName, String encodedValue, boolean immediate, char type) { - final String id = paintableId + "_" + variableName + "_" + type; + final String id = paintableId + "|" + variableName + "|" + type; for (int i = 0; i < pendingVariables.size(); i += 2) { if ((pendingVariables.get(i)).equals(id)) { pendingVariables.remove(i); diff --git a/src/com/itmill/toolkit/terminal/gwt/server/CommunicationManager.java b/src/com/itmill/toolkit/terminal/gwt/server/CommunicationManager.java index 6453318cef..d758c833b6 100644 --- a/src/com/itmill/toolkit/terminal/gwt/server/CommunicationManager.java +++ b/src/com/itmill/toolkit/terminal/gwt/server/CommunicationManager.java @@ -151,7 +151,7 @@ public class CommunicationManager implements Paintable.RepaintRequestListener, if (item.isFormField()) { // ignored, upload requests contian only files } else { - final String pid = name.split("_")[0]; + final String pid = name.split("|")[0]; final Upload uploadComponent = (Upload) idPaintableMap .get(pid); if (uploadComponent == null) { @@ -457,15 +457,18 @@ public class CommunicationManager implements Paintable.RepaintRequestListener, : params.get("changes")); params.remove("changes"); if (changes != null) { + // keys are one paired indexes variable values on odd ones final String[] ca = changes.split("\u0001"); for (int i = 0; i < ca.length; i++) { - String[] vid = ca[i].split("_"); + // extract variable info from key of format + // "PID_variableName_type" + String[] vid = ca[i].split("\\|"); final VariableOwner owner = (VariableOwner) idPaintableMap .get(vid[0]); if (owner != null) { Map m; if (i + 2 >= ca.length - || !vid[0].equals(ca[i + 2].split("_")[0])) { + || !vid[0].equals(ca[i + 2].split("|")[0])) { if (ca.length > i + 1) { m = new SingleValueMap(vid[1], convertVariableValue(vid[2].charAt(0), @@ -480,8 +483,8 @@ public class CommunicationManager implements Paintable.RepaintRequestListener, ca[++i])); } while (i + 1 < ca.length - && vid[0].equals(ca[i + 1].split("_")[0])) { - vid = ca[++i].split("_"); + && vid[0].equals(ca[i + 1].split("|")[0])) { + vid = ca[++i].split("|"); m.put(vid[1], convertVariableValue(vid[2].charAt(0), ca[++i])); } -- 2.39.5