1.1 --- a/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/PageProcessor.java Mon Apr 08 12:36:12 2013 +0200
1.2 +++ b/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/PageProcessor.java Mon Apr 08 16:51:30 2013 +0200
1.3 @@ -901,13 +901,26 @@
1.4 String n = e.getSimpleName().toString();
1.5 body.append("public void ").append(n).append("(");
1.6 StringBuilder assembleURL = new StringBuilder();
1.7 + String jsonpVarName = null;
1.8 {
1.9 String sep = "";
1.10 + boolean skipJSONP = onR.jsonp().isEmpty();
1.11 for (String p : findParamNames(e, onR.url(), assembleURL)) {
1.12 + if (!skipJSONP && p.equals(onR.jsonp())) {
1.13 + skipJSONP = true;
1.14 + jsonpVarName = p;
1.15 + continue;
1.16 + }
1.17 body.append(sep);
1.18 body.append("String ").append(p);
1.19 sep = ", ";
1.20 }
1.21 + if (!skipJSONP) {
1.22 + err().printMessage(Diagnostic.Kind.ERROR,
1.23 + "Name of jsonp attribute ('" + onR.jsonp() +
1.24 + "') is not used in url attribute '" + onR.url() + "'"
1.25 + );
1.26 + }
1.27 }
1.28 body.append(") {\n");
1.29 body.append(" final Object[] result = { null };\n");
1.30 @@ -944,9 +957,14 @@
1.31 " }\n" +
1.32 " }\n"
1.33 );
1.34 + body.append(" ProcessResult pr = new ProcessResult();\n");
1.35 + if (jsonpVarName != null) {
1.36 + body.append(" String ").append(jsonpVarName).
1.37 + append(" = org.apidesign.bck2brwsr.htmlpage.ConvertTypes.createJSONP(result, pr);\n");
1.38 + }
1.39 body.append(" org.apidesign.bck2brwsr.htmlpage.ConvertTypes.loadJSON(\n ");
1.40 body.append(assembleURL);
1.41 - body.append(", result, new ProcessResult()\n );\n");
1.42 + body.append(", result, pr, ").append(jsonpVarName).append("\n );\n");
1.43 // body.append(" ").append(clazz.getSimpleName()).append(".").append(n).append("(");
1.44 // body.append(wrapParams(e, null, className, "ev", "data"));
1.45 // body.append(");\n");