1.1 --- a/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/PageProcessor.java Mon Apr 15 15:30:53 2013 +0200
1.2 +++ b/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/PageProcessor.java Fri May 24 18:04:55 2013 +0200
1.3 @@ -23,6 +23,7 @@
1.4 import java.io.StringWriter;
1.5 import java.io.Writer;
1.6 import java.lang.annotation.AnnotationTypeMismatchException;
1.7 +import java.lang.annotation.IncompleteAnnotationException;
1.8 import java.lang.reflect.Method;
1.9 import java.util.ArrayList;
1.10 import java.util.Collection;
1.11 @@ -246,7 +247,7 @@
1.12 w.append(type).append("(e));\n");
1.13 } else if (isEnum[0]) {
1.14 w.append(" this.prop_").append(pn);
1.15 - w.append(".add(");
1.16 + w.append(".add(e == null ? null : ");
1.17 w.append(type).append(".valueOf((String)e));\n");
1.18 } else {
1.19 if (isPrimitive(type)) {
1.20 @@ -262,7 +263,7 @@
1.21 } else {
1.22 if (isEnum[0]) {
1.23 w.append(" this.prop_").append(pn);
1.24 - w.append(" = ");
1.25 + w.append(" = ret[" + cnt + "] == null ? null : ");
1.26 w.append(type).append(".valueOf((String)ret[" + cnt + "]);\n");
1.27 } else if (isPrimitive(type)) {
1.28 w.append(" this.prop_").append(pn);
1.29 @@ -1146,7 +1147,8 @@
1.30 String sep = "";
1.31 for (Prprt p : props) {
1.32 w.write(sep);
1.33 - w.append(" sb.append(\"" + p.name() + ": \");\n");
1.34 + w.append(" sb.append('\"').append(\"" + p.name() + "\")");
1.35 + w.append(".append('\"').append(\":\");\n");
1.36 w.append(" sb.append(org.apidesign.bck2brwsr.htmlpage.ConvertTypes.toJSON(prop_");
1.37 w.append(p.name()).append("));\n");
1.38 sep = " sb.append(',');\n";
1.39 @@ -1341,7 +1343,7 @@
1.40 String typeName(ProcessingEnvironment env) {
1.41 try {
1.42 return p.type().getName();
1.43 - } catch (AnnotationTypeMismatchException ex) {
1.44 + } catch (IncompleteAnnotationException | AnnotationTypeMismatchException ex) {
1.45 for (Object v : getAnnoValues(env)) {
1.46 String s = v.toString().replace(" ", "");
1.47 if (s.startsWith("type=") && s.endsWith(".class")) {