launcher/src/main/java/org/apidesign/bck2brwsr/launcher/Bck2BrwsrLauncher.java
branchemul
changeset 741 1343f52164f3
parent 709 722c51330e75
child 742 3035beed09a1
     1.1 --- a/launcher/src/main/java/org/apidesign/bck2brwsr/launcher/Bck2BrwsrLauncher.java	Mon Feb 11 19:47:46 2013 +0100
     1.2 +++ b/launcher/src/main/java/org/apidesign/bck2brwsr/launcher/Bck2BrwsrLauncher.java	Fri Feb 15 19:24:34 2013 +0100
     1.3 @@ -95,9 +95,10 @@
     1.4              startpage = "/" + startpage;
     1.5          }
     1.6          HttpServer s = initServer(".", true);
     1.7 +        s.getServerConfiguration().addHttpHandler(new Page(resources, startpage), "/index.xhtml");
     1.8          s.getServerConfiguration().addHttpHandler(new Page(resources, null), "/");
     1.9          try {
    1.10 -            launchServerAndBrwsr(s, startpage);
    1.11 +            launchServerAndBrwsr(s, "/index.xhtml");
    1.12          } catch (URISyntaxException | InterruptedException ex) {
    1.13              throw new IOException(ex);
    1.14          }
    1.15 @@ -139,7 +140,7 @@
    1.16  
    1.17          final ServerConfiguration conf = s.getServerConfiguration();
    1.18          if (addClasses) {
    1.19 -            conf.addHttpHandler(new VM(resources), "/vm.js");
    1.20 +            conf.addHttpHandler(new VM(resources), "/bck2brwsr.js");
    1.21              conf.addHttpHandler(new Classes(resources), "/classes/");
    1.22          }
    1.23          return s;
    1.24 @@ -450,9 +451,9 @@
    1.25              String r = resource;
    1.26              if (r == null) {
    1.27                  r = request.getHttpHandlerPath();
    1.28 -                if (r.startsWith("/")) {
    1.29 -                    r = r.substring(1);
    1.30 -                }
    1.31 +            }
    1.32 +            if (r.startsWith("/")) {
    1.33 +                r = r.substring(1);
    1.34              }
    1.35              String[] replace = {};
    1.36              if (r.endsWith(".html")) {
    1.37 @@ -483,14 +484,19 @@
    1.38              StringBuilder sb = new StringBuilder();
    1.39              Bck2Brwsr.generate(sb, loader);
    1.40              sb.append(
    1.41 -                "function ldCls(res) {\n"
    1.42 -                + "  var request = new XMLHttpRequest();\n"
    1.43 -                + "  request.open('GET', '/classes/' + res, false);\n"
    1.44 -                + "  request.send();\n"
    1.45 -                + "  var arr = eval('(' + request.responseText + ')');\n"
    1.46 -                + "  return arr;\n"
    1.47 -                + "}\n"
    1.48 -                + "var vm = new bck2brwsr(ldCls);\n"
    1.49 +                  "(function WrapperVM(global) {"
    1.50 +                + "  function ldCls(res) {\n"
    1.51 +                + "    var request = new XMLHttpRequest();\n"
    1.52 +                + "    request.open('GET', '/classes/' + res, false);\n"
    1.53 +                + "    request.send();\n"
    1.54 +                + "    var arr = eval('(' + request.responseText + ')');\n"
    1.55 +                + "    return arr;\n"
    1.56 +                + "  }\n"
    1.57 +                + "  var prevvm = global.bck2brwsr;\n"
    1.58 +                + "  global.bck2brwsr = function() {\n"
    1.59 +                + "    return prevvm(ldCls);\n"
    1.60 +                + "  };\n"
    1.61 +                + "})(this);\n"
    1.62              );
    1.63              this.bck2brwsr = sb.toString();
    1.64          }