1.1 --- a/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/KOProperty.java Sun Apr 14 11:52:36 2013 +0200
1.2 +++ b/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/KOProperty.java Sun Apr 14 12:03:15 2013 +0200
1.3 @@ -52,6 +52,26 @@
1.4
1.5 public void set(Object value) throws Exception {
1.6 LOG.log(Level.INFO, "{0} set to {1}", new Object[] { setter, value });
1.7 - setter.invoke(obj, value);
1.8 + final Class<?> rt = getter.getReturnType();
1.9 +
1.10 + try {
1.11 + if (rt == String.class) {
1.12 + setter.invoke(obj, value.toString());
1.13 + return;
1.14 + }
1.15 + if (rt == Integer.class || rt == int.class) {
1.16 + setter.invoke(obj, Integer.parseInt(value.toString()));
1.17 + return;
1.18 + }
1.19 + if (rt == Double.class || rt == double.class) {
1.20 + setter.invoke(obj, Double.parseDouble(value.toString()));
1.21 + return;
1.22 + }
1.23 + setter.invoke(obj, value);
1.24 + } catch (Throwable ex) {
1.25 + LOG.log(Level.SEVERE, "Can''t set " + setter, ex);
1.26 + }
1.27 +
1.28 }
1.29 +
1.30 }