1.1 --- a/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/PageProcessor.java Mon Apr 08 19:30:22 2013 +0200
1.2 +++ b/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/PageProcessor.java Tue Apr 09 10:06:19 2013 +0200
1.3 @@ -193,17 +193,16 @@
1.4 boolean[] isModel = { false };
1.5 boolean[] isEnum = { false };
1.6 String type = checkType(m.properties()[prop++], isModel, isEnum);
1.7 - if (isEnum[0]) {
1.8 -// w.append(type).append(".valueOf((String)");
1.9 -// close = true;
1.10 - w.append(" this.prop_").append(pn);
1.11 - w.append(" = null;\n");
1.12 - } else if (p.array()) {
1.13 + if (p.array()) {
1.14 w.append("if (ret[" + cnt + "] instanceof Object[]) {\n");
1.15 w.append(" for (Object e : ((Object[])ret[" + cnt + "])) {\n");
1.16 if (isModel[0]) {
1.17 w.append(" this.prop_").append(pn).append(".add(new ");
1.18 w.append(type).append("(e));\n");
1.19 + } else if (isEnum[0]) {
1.20 + w.append(" this.prop_").append(pn);
1.21 + w.append(".add(");
1.22 + w.append(type).append(".valueOf((String)e));\n");
1.23 } else {
1.24 if (isPrimitive(type)) {
1.25 w.append(" this.prop_").append(pn).append(".add(((Number)e).");
1.26 @@ -216,7 +215,11 @@
1.27 w.append(" }\n");
1.28 w.append("}\n");
1.29 } else {
1.30 - if (isPrimitive(type)) {
1.31 + if (isEnum[0]) {
1.32 + w.append(" this.prop_").append(pn);
1.33 + w.append(" = ");
1.34 + w.append(type).append(".valueOf((String)ret[" + cnt + "]);\n");
1.35 + } else if (isPrimitive(type)) {
1.36 w.append(" this.prop_").append(pn);
1.37 w.append(" = ((Number)").append("ret[" + cnt + "]).");
1.38 w.append(type).append("Value();\n");