diff options
author | Artur Signell <artur.signell@itmill.com> | 2012-07-31 10:43:20 +0000 |
---|---|---|
committer | Artur Signell <artur.signell@itmill.com> | 2012-07-31 10:43:20 +0000 |
commit | 4c9fedc2636d21afe6c6df47d244688054885c03 (patch) | |
tree | 0585233b19e8b9e6ca990f03f0d1914e7953b683 /src | |
parent | f6d79ce3220b01531a3d84ec1cf9906591c6f8e0 (diff) | |
download | vaadin-framework-4c9fedc2636d21afe6c6df47d244688054885c03.tar.gz vaadin-framework-4c9fedc2636d21afe6c6df47d244688054885c03.zip |
Correctly decode maps and arrays with "" as the last value (#9188)
svn changeset:24038/svn branch:6.8
Diffstat (limited to 'src')
-rw-r--r-- | src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java b/src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java index ae2cacdd38..827785bd33 100644 --- a/src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java +++ b/src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java @@ -1609,8 +1609,8 @@ public abstract class AbstractCommunicationManager implements } private Object convertMap(String strValue) { - String[] parts = strValue - .split(String.valueOf(VAR_ARRAYITEM_SEPARATOR)); + String[] parts = strValue.split( + String.valueOf(VAR_ARRAYITEM_SEPARATOR), -1); HashMap<String, Object> map = new HashMap<String, Object>(); for (int i = 0; i < parts.length; i += 2) { String key = parts[i]; @@ -1650,7 +1650,8 @@ public abstract class AbstractCommunicationManager implements } private Object convertArray(String strValue) { - String[] val = strValue.split(String.valueOf(VAR_ARRAYITEM_SEPARATOR)); + String[] val = strValue.split(String.valueOf(VAR_ARRAYITEM_SEPARATOR), + -1); if (val.length == 0 || (val.length == 1 && val[0].length() == 0)) { return new Object[0]; } |