launcher/fx/src/main/java/org/apidesign/bck2brwsr/launcher/BaseHTTPLauncher.java
branchmodel
changeset 1043 bd80952bfd11
parent 1041 f18b7262fe91
child 1076 892dcb178737
     1.1 --- a/launcher/fx/src/main/java/org/apidesign/bck2brwsr/launcher/BaseHTTPLauncher.java	Sun Apr 28 17:42:49 2013 +0200
     1.2 +++ b/launcher/fx/src/main/java/org/apidesign/bck2brwsr/launcher/BaseHTTPLauncher.java	Sun Apr 28 21:17:04 2013 +0200
     1.3 @@ -41,7 +41,6 @@
     1.4  import java.util.logging.Level;
     1.5  import java.util.logging.Logger;
     1.6  import org.apidesign.bck2brwsr.launcher.InvocationContext.Resource;
     1.7 -import org.apidesign.vm4brwsr.Bck2Brwsr;
     1.8  import org.glassfish.grizzly.PortRange;
     1.9  import org.glassfish.grizzly.http.server.HttpHandler;
    1.10  import org.glassfish.grizzly.http.server.HttpServer;
    1.11 @@ -56,7 +55,7 @@
    1.12   * Supports execution in native browser as well as Java's internal 
    1.13   * execution engine.
    1.14   */
    1.15 -class BaseHTTPLauncher extends Launcher implements Closeable {
    1.16 +abstract class BaseHTTPLauncher extends Launcher implements Closeable {
    1.17      private static final Logger LOG = Logger.getLogger(BaseHTTPLauncher.class.getName());
    1.18      private static final InvocationContext END = new InvocationContext(null, null, null);
    1.19      private final Set<ClassLoader> loaders = new LinkedHashSet<>();
    1.20 @@ -70,7 +69,7 @@
    1.21      
    1.22      public BaseHTTPLauncher(String cmd) {
    1.23          this.cmd = cmd;
    1.24 -        addClassLoader(Bck2Brwsr.class.getClassLoader());
    1.25 +        addClassLoader(BaseHTTPLauncher.class.getClassLoader());
    1.26          setTimeout(180000);
    1.27      }
    1.28      
    1.29 @@ -455,29 +454,9 @@
    1.30          }
    1.31      }
    1.32  
    1.33 -    void generateBck2BrwsrJS(StringBuilder sb, Bck2Brwsr.Resources loader) throws IOException {
    1.34 -        Bck2Brwsr.generate(sb, loader);
    1.35 -        sb.append(
    1.36 -            "(function WrapperVM(global) {"
    1.37 -            + "  function ldCls(res) {\n"
    1.38 -            + "    var request = new XMLHttpRequest();\n"
    1.39 -            + "    request.open('GET', '/classes/' + res, false);\n"
    1.40 -            + "    request.send();\n"
    1.41 -            + "    if (request.status !== 200) return null;\n"
    1.42 -            + "    var arr = eval('(' + request.responseText + ')');\n"
    1.43 -            + "    return arr;\n"
    1.44 -            + "  }\n"
    1.45 -            + "  var prevvm = global.bck2brwsr;\n"
    1.46 -            + "  global.bck2brwsr = function() {\n"
    1.47 -            + "    var args = Array.prototype.slice.apply(arguments);\n"
    1.48 -            + "    args.unshift(ldCls);\n"
    1.49 -            + "    return prevvm.apply(null, args);\n"
    1.50 -            + "  };\n"
    1.51 -            + "})(this);\n");
    1.52 -    }
    1.53 +    abstract void generateBck2BrwsrJS(StringBuilder sb, Object loader) throws IOException;
    1.54  
    1.55 -    private class Res implements Bck2Brwsr.Resources {
    1.56 -        @Override
    1.57 +    private class Res {
    1.58          public InputStream get(String resource) throws IOException {
    1.59              for (ClassLoader l : loaders) {
    1.60                  URL u = null;