# HG changeset patch # User Jaroslav Tulach # Date 1360952674 -3600 # Node ID 1343f52164f3bdf816e81d9f75378580ecb72988 # Parent d3220b78c21aac4d1fe1ed4188dcf04085bbc4a1 Rewriting the (dynamic) calculator demo to be able to reference JARs, but load from a server diff -r d3220b78c21a -r 1343f52164f3 javaquery/demo-calculator-dynamic/pom.xml --- a/javaquery/demo-calculator-dynamic/pom.xml Fri Feb 15 19:21:40 2013 +0100 +++ b/javaquery/demo-calculator-dynamic/pom.xml Fri Feb 15 19:24:34 2013 +0100 @@ -40,14 +40,47 @@ 1.7 + + org.apache.maven.plugins + maven-jar-plugin + 2.4 + + + + true + lib/ + org.apidesign.bck2brwsr.demo.calc.staticcompilation.Calc + + + + + + maven-assembly-plugin + 2.4 + + + distro-assembly + package + + single + + + + src/main/assembly/bck2brwsr.xml + + + + + org.apidesign.bck2brwsr - emul.mini + emul 0.3-SNAPSHOT + rt org.apidesign.bck2brwsr @@ -60,5 +93,13 @@ 6.5.2 test + + org.apidesign.bck2brwsr + vm4brwsr + js + zip + 0.3-SNAPSHOT + provided + diff -r d3220b78c21a -r 1343f52164f3 javaquery/demo-calculator-dynamic/src/main/assembly/bck2brwsr.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/javaquery/demo-calculator-dynamic/src/main/assembly/bck2brwsr.xml Fri Feb 15 19:24:34 2013 +0100 @@ -0,0 +1,62 @@ + + + + + bck2brwsr + + zip + dir + + public_html + + + false + runtime + lib + + *:jar + *:rt + + + + false + provided + + *:js + + true + / + + + + + ${project.build.directory}/${project.build.finalName}.jar + / + + + ${project.build.directory}/classes/org/apidesign/bck2brwsr/demo/calc/Calculator.xhtml + / + index.xhtml + + + + \ No newline at end of file diff -r d3220b78c21a -r 1343f52164f3 javaquery/demo-calculator-dynamic/src/main/resources/org/apidesign/bck2brwsr/demo/calc/Calculator.xhtml --- a/javaquery/demo-calculator-dynamic/src/main/resources/org/apidesign/bck2brwsr/demo/calc/Calculator.xhtml Fri Feb 15 19:21:40 2013 +0100 +++ b/javaquery/demo-calculator-dynamic/src/main/resources/org/apidesign/bck2brwsr/demo/calc/Calculator.xhtml Fri Feb 15 19:24:34 2013 +0100 @@ -78,9 +78,9 @@
- - + diff -r d3220b78c21a -r 1343f52164f3 launcher/src/main/java/org/apidesign/bck2brwsr/launcher/Bck2BrwsrLauncher.java --- a/launcher/src/main/java/org/apidesign/bck2brwsr/launcher/Bck2BrwsrLauncher.java Fri Feb 15 19:21:40 2013 +0100 +++ b/launcher/src/main/java/org/apidesign/bck2brwsr/launcher/Bck2BrwsrLauncher.java Fri Feb 15 19:24:34 2013 +0100 @@ -95,9 +95,10 @@ startpage = "/" + startpage; } HttpServer s = initServer(".", true); + s.getServerConfiguration().addHttpHandler(new Page(resources, startpage), "/index.xhtml"); s.getServerConfiguration().addHttpHandler(new Page(resources, null), "/"); try { - launchServerAndBrwsr(s, startpage); + launchServerAndBrwsr(s, "/index.xhtml"); } catch (URISyntaxException | InterruptedException ex) { throw new IOException(ex); } @@ -139,7 +140,7 @@ final ServerConfiguration conf = s.getServerConfiguration(); if (addClasses) { - conf.addHttpHandler(new VM(resources), "/vm.js"); + conf.addHttpHandler(new VM(resources), "/bck2brwsr.js"); conf.addHttpHandler(new Classes(resources), "/classes/"); } return s; @@ -450,9 +451,9 @@ String r = resource; if (r == null) { r = request.getHttpHandlerPath(); - if (r.startsWith("/")) { - r = r.substring(1); - } + } + if (r.startsWith("/")) { + r = r.substring(1); } String[] replace = {}; if (r.endsWith(".html")) { @@ -483,14 +484,19 @@ StringBuilder sb = new StringBuilder(); Bck2Brwsr.generate(sb, loader); sb.append( - "function ldCls(res) {\n" - + " var request = new XMLHttpRequest();\n" - + " request.open('GET', '/classes/' + res, false);\n" - + " request.send();\n" - + " var arr = eval('(' + request.responseText + ')');\n" - + " return arr;\n" - + "}\n" - + "var vm = new bck2brwsr(ldCls);\n" + "(function WrapperVM(global) {" + + " function ldCls(res) {\n" + + " var request = new XMLHttpRequest();\n" + + " request.open('GET', '/classes/' + res, false);\n" + + " request.send();\n" + + " var arr = eval('(' + request.responseText + ')');\n" + + " return arr;\n" + + " }\n" + + " var prevvm = global.bck2brwsr;\n" + + " global.bck2brwsr = function() {\n" + + " return prevvm(ldCls);\n" + + " };\n" + + "})(this);\n" ); this.bck2brwsr = sb.toString(); }