javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/PageProcessor.java
branchclosure
changeset 1146 e499b0dddd12
parent 988 c2386b2f53d0
parent 1010 e2d1dc505c24
child 1505 706b66d8c481
     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")) {