1.1 --- a/minesweeper/pom.xml Sat Feb 22 16:35:11 2014 +0100
1.2 +++ b/minesweeper/pom.xml Tue Mar 04 08:24:11 2014 +0100
1.3 @@ -224,6 +224,12 @@
1.4 <scope>provided</scope>
1.5 </dependency>
1.6 <dependency>
1.7 + <groupId>org.apidesign.html</groupId>
1.8 + <artifactId>dlvkbrwsr</artifactId>
1.9 + <version>0.2-SNAPSHOT</version>
1.10 + <type>jar</type>
1.11 + </dependency>
1.12 + <dependency>
1.13 <groupId>org.netbeans.html</groupId>
1.14 <artifactId>ko-ws-tyrus</artifactId>
1.15 <version>${net.java.html.version}</version>
1.16 @@ -234,12 +240,6 @@
1.17 </exclusion>
1.18 </exclusions>
1.19 </dependency>
1.20 - <dependency>
1.21 - <groupId>org.apidesign.html</groupId>
1.22 - <artifactId>dlvkbrwsr</artifactId>
1.23 - <version>0.1-SNAPSHOT</version>
1.24 - <type>jar</type>
1.25 - </dependency>
1.26 </dependencies>
1.27 <build>
1.28 <plugins>
2.1 --- a/minesweeper/src/main/java/org/apidesign/demo/minesweeper/Main.java Sat Feb 22 16:35:11 2014 +0100
2.2 +++ b/minesweeper/src/main/java/org/apidesign/demo/minesweeper/Main.java Tue Mar 04 08:24:11 2014 +0100
2.3 @@ -23,21 +23,61 @@
2.4 */
2.5 package org.apidesign.demo.minesweeper;
2.6
2.7 +import java.io.IOException;
2.8 +import java.net.URI;
2.9 +import java.util.Arrays;
2.10 +import java.util.logging.Level;
2.11 +import java.util.logging.Logger;
2.12 import net.java.html.boot.BrowserBuilder;
2.13 +import org.apidesign.html.dlvkbrwsr.XtrnlBrwsrPrsntr;
2.14
2.15
2.16 /** Bootstrap and initialization. */
2.17 public final class Main {
2.18 + private static final Logger LOG = Logger.getLogger(Main.class.getName());
2.19 private Main() {
2.20 }
2.21 +
2.22 + static Object[] showBrwsr(URI uri, String cmd) throws IOException {
2.23 + LOG.log(Level.INFO, "Showing {0}", uri);
2.24 + if (cmd == null) {
2.25 + try {
2.26 + LOG.log(Level.INFO, "Trying Desktop.browse on {0} {2} by {1}", new Object[]{
2.27 + System.getProperty("java.vm.name"),
2.28 + System.getProperty("java.vm.vendor"),
2.29 + System.getProperty("java.vm.version"),});
2.30 + java.awt.Desktop.getDesktop().browse(uri);
2.31 + LOG.log(Level.INFO, "Desktop.browse successfully finished");
2.32 + return null;
2.33 + } catch (UnsupportedOperationException ex) {
2.34 + LOG.log(Level.INFO, "Desktop.browse not supported: {0}", ex.getMessage());
2.35 + LOG.log(Level.FINE, null, ex);
2.36 + }
2.37 + }
2.38 + {
2.39 + String cmdName = cmd == null ? "xdg-open" : cmd;
2.40 + String[] cmdArr = {
2.41 + cmdName, uri.toString()
2.42 + };
2.43 + LOG.log(Level.INFO, "Launching {0}", Arrays.toString(cmdArr));
2.44 + final Process process = Runtime.getRuntime().exec(cmdArr);
2.45 + return new Object[]{process, null};
2.46 + }
2.47 + }
2.48
2.49 /** Launches the browser */
2.50 public static void main(String... args) throws Exception {
2.51 - BrowserBuilder.newBrowser().
2.52 + BrowserBuilder.newBrowser(new XtrnlBrwsrPrsntr() {
2.53 + @Override
2.54 + protected void showBrwsr(URI page) throws IOException {
2.55 + Main.showBrwsr(page, null);
2.56 + }
2.57 + }).
2.58 loadPage("pages/index.html").
2.59 loadClass(Main.class).
2.60 invoke("onPageLoad", args).
2.61 showAndWait();
2.62 + System.in.read();
2.63 System.exit(0);
2.64 }
2.65
3.1 --- a/minesweeper/src/main/webapp/pages/index.html Sat Feb 22 16:35:11 2014 +0100
3.2 +++ b/minesweeper/src/main/webapp/pages/index.html Tue Mar 04 08:24:11 2014 +0100
3.3 @@ -149,6 +149,6 @@
3.4 var vm = bck2brwsr('${project.build.finalName}.jar');
3.5 vm.loadClass('org.apidesign.demo.minesweeper.MainBrwsr');
3.6 </script>
3.7 -
3.8 +
3.9 </body>
3.10 </html>
4.1 --- a/pom.xml Sat Feb 22 16:35:11 2014 +0100
4.2 +++ b/pom.xml Tue Mar 04 08:24:11 2014 +0100
4.3 @@ -13,7 +13,7 @@
4.4 </parent>
4.5 <properties>
4.6 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
4.7 - <net.java.html.version>0.7.5</net.java.html.version>
4.8 + <net.java.html.version>0.8-SNAPSHOT</net.java.html.version>
4.9 <bck2brwsr.version>0.8.1</bck2brwsr.version>
4.10 <license>COPYING</license>
4.11 </properties>