From: Artur Signell Date: Mon, 10 Dec 2012 09:32:39 +0000 (+0200) Subject: Better error messages for unknown legacy variable types (#10481) X-Git-Tag: 7.0.0.beta11~56^2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=refs%2Fchanges%2F76%2F476%2F1;p=vaadin-framework.git Better error messages for unknown legacy variable types (#10481) Change-Id: I22127da446b1035d6b0868d47646af543ea0a876 --- diff --git a/client/src/com/vaadin/client/communication/JsonEncoder.java b/client/src/com/vaadin/client/communication/JsonEncoder.java index 07908c8147..162becf8ff 100644 --- a/client/src/com/vaadin/client/communication/JsonEncoder.java +++ b/client/src/com/vaadin/client/communication/JsonEncoder.java @@ -138,7 +138,20 @@ public class JsonEncoder { Object value = uidlValue.getValue(); JSONArray jsonArray = new JSONArray(); - jsonArray.set(0, new JSONString(getTransportType(value))); + String transportType = getTransportType(value); + if (transportType == null) { + /* + * This should not happen unless you try to send an unsupported type + * in a legacy variable change from the client to the server. + */ + String valueType = null; + if (value != null) { + valueType = value.getClass().getName(); + } + throw new IllegalArgumentException("Cannot encode object of type " + + valueType); + } + jsonArray.set(0, new JSONString(transportType)); jsonArray.set(1, encode(value, true, connection)); return jsonArray;