javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/PageProcessor.java
branchmodel
changeset 878 ecbd252fd3a7
parent 876 4f02c384b13d
parent 871 6168fb585ab4
child 879 af170d42b5b3
     1.1 --- a/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/PageProcessor.java	Fri Mar 22 16:43:51 2013 +0100
     1.2 +++ b/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/PageProcessor.java	Fri Mar 22 17:03:32 2013 +0100
     1.3 @@ -46,6 +46,7 @@
     1.4  import javax.lang.model.element.TypeElement;
     1.5  import javax.lang.model.element.VariableElement;
     1.6  import javax.lang.model.type.MirroredTypeException;
     1.7 +import javax.lang.model.type.TypeKind;
     1.8  import javax.lang.model.type.TypeMirror;
     1.9  import javax.lang.model.util.Types;
    1.10  import javax.tools.Diagnostic;
    1.11 @@ -283,7 +284,19 @@
    1.12                                  }
    1.13                                  first = false;
    1.14                                  if (ve.asType() == stringType) {
    1.15 -                                    params.append('"').append(id).append('"');
    1.16 +                                    if (ve.getSimpleName().contentEquals("id")) {
    1.17 +                                        params.append('"').append(id).append('"');
    1.18 +                                        continue;
    1.19 +                                    }
    1.20 +                                    params.append("org.apidesign.bck2brwsr.htmlpage.ConvertTypes.toString(ev, \"");
    1.21 +                                    params.append(ve.getSimpleName().toString());
    1.22 +                                    params.append("\")");
    1.23 +                                    continue;
    1.24 +                                }
    1.25 +                                if (processingEnv.getTypeUtils().getPrimitiveType(TypeKind.DOUBLE) == ve.asType()) {
    1.26 +                                    params.append("org.apidesign.bck2brwsr.htmlpage.ConvertTypes.toDouble(ev, \"");
    1.27 +                                    params.append(ve.getSimpleName().toString());
    1.28 +                                    params.append("\")");
    1.29                                      continue;
    1.30                                  }
    1.31                                  String rn = ve.asType().toString();
    1.32 @@ -296,7 +309,7 @@
    1.33                                      continue;
    1.34                                  }
    1.35                                  processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, 
    1.36 -                                    "@On method can only accept String or " + className + " arguments",
    1.37 +                                    "@On method can only accept String named 'id' or " + className + " arguments",
    1.38                                      ee
    1.39                                  );
    1.40                                  return false;
    1.41 @@ -328,10 +341,10 @@
    1.42              }
    1.43              w.append("  }\n");
    1.44              if (dispatchCnt > 0) {
    1.45 -                w.append("class OnDispatch implements Runnable {\n");
    1.46 +                w.append("class OnDispatch implements OnHandler {\n");
    1.47                  w.append("  private final int dispatch;\n");
    1.48                  w.append("  OnDispatch(int d) { dispatch = d; }\n");
    1.49 -                w.append("  public void run() {\n");
    1.50 +                w.append("  public void onEvent(Object ev) {\n");
    1.51                  w.append("    switch (dispatch) {\n");
    1.52                  w.append(dispatch);
    1.53                  w.append("    }\n");