Allow class name change in the java code by referencing the it via ${fqn} from HTML
authorJaroslav Tulach <jaroslav.tulach@apidesign.org>
Fri, 25 Jan 2013 10:25:30 +0100
changeset 579942deef87200
parent 578 f8264c292ba6
child 580 2f42cd9b5531
Allow class name change in the java code by referencing the it via ${fqn} from HTML
dew/src/main/java/org/apidesign/bck2brwsr/dew/Compile.java
dew/src/main/java/org/apidesign/bck2brwsr/dew/Dew.java
dew/src/main/resources/org/apidesign/bck2brwsr/dew/js/app.js
     1.1 --- a/dew/src/main/java/org/apidesign/bck2brwsr/dew/Compile.java	Fri Jan 25 08:43:56 2013 +0100
     1.2 +++ b/dew/src/main/java/org/apidesign/bck2brwsr/dew/Compile.java	Fri Jan 25 10:25:30 2013 +0100
     1.3 @@ -52,10 +52,12 @@
     1.4      private final Map<String, byte[]> classes;
     1.5      private final String pkg;
     1.6      private final String cls;
     1.7 +    private final String html;
     1.8  
     1.9      private Compile(String html, String code) throws IOException {
    1.10          this.pkg = findPkg(code);
    1.11          this.cls = findCls(code);
    1.12 +        this.html = html;
    1.13          classes = compile(html, code);
    1.14      }
    1.15  
    1.16 @@ -193,4 +195,9 @@
    1.17          String cls = m.group(1);
    1.18          return cls;
    1.19      }
    1.20 +
    1.21 +    String getHtml() {
    1.22 +        String fqn = "'" + pkg + '.' + cls + "'";
    1.23 +        return html.replace("'${fqn}'", fqn);
    1.24 +    }
    1.25  }
     2.1 --- a/dew/src/main/java/org/apidesign/bck2brwsr/dew/Dew.java	Fri Jan 25 08:43:56 2013 +0100
     2.2 +++ b/dew/src/main/java/org/apidesign/bck2brwsr/dew/Dew.java	Fri Jan 25 10:25:30 2013 +0100
     2.3 @@ -42,7 +42,6 @@
     2.4   * @author phrebejk
     2.5   */
     2.6  final class Dew extends HttpHandler implements Bck2Brwsr.Resources {
     2.7 -    private String html = "";
     2.8      private Compile data;
     2.9  
    2.10      public static void main(String... args) throws Exception {
    2.11 @@ -69,7 +68,6 @@
    2.12              List<Diagnostic<? extends JavaFileObject>> err = res.getErrors();
    2.13              if (err.isEmpty()) {
    2.14                  data = res;
    2.15 -                html = tmpHtml;
    2.16                  response.getOutputStream().write("[]".getBytes());
    2.17                  response.setStatus(HttpStatus.OK_200);
    2.18              } else {
    2.19 @@ -98,7 +96,7 @@
    2.20          }
    2.21          if (r.equals("/result.html")) {
    2.22              response.setContentType("text/html");
    2.23 -            response.getOutputBuffer().write(html);
    2.24 +            response.getOutputBuffer().write(data.getHtml());
    2.25              response.setStatus(HttpStatus.OK_200);
    2.26              return;
    2.27          }
     3.1 --- a/dew/src/main/resources/org/apidesign/bck2brwsr/dew/js/app.js	Fri Jan 25 08:43:56 2013 +0100
     3.2 +++ b/dew/src/main/resources/org/apidesign/bck2brwsr/dew/js/app.js	Fri Jan 25 10:25:30 2013 +0100
     3.3 @@ -113,7 +113,7 @@
     3.4  "     return arr;\n" +
     3.5  "   }\n" +
     3.6  "   var vm = new bck2brwsr(ldCls);\n" +
     3.7 -"   vm.loadClass('bck2brwsr.demo.YourFirstHTML5PageInRealLanguage');\n" +
     3.8 +"   vm.loadClass('${fqn}');\n" +
     3.9  " </script>\n" +
    3.10  "</body></html>";
    3.11      var templateJava =