1.1 --- a/launcher/src/main/java/org/apidesign/bck2brwsr/dew/Dew.java Wed Jan 16 12:28:56 2013 +0100
1.2 +++ b/launcher/src/main/java/org/apidesign/bck2brwsr/dew/Dew.java Wed Jan 16 12:44:54 2013 +0100
1.3 @@ -17,6 +17,7 @@
1.4 */
1.5 package org.apidesign.bck2brwsr.dew;
1.6
1.7 +import java.io.ByteArrayInputStream;
1.8 import java.io.IOException;
1.9 import java.io.InputStream;
1.10 import java.io.InputStreamReader;
1.11 @@ -26,6 +27,7 @@
1.12 import java.util.logging.Logger;
1.13 import javax.tools.Diagnostic;
1.14 import javax.tools.JavaFileObject;
1.15 +import org.apidesign.vm4brwsr.Bck2Brwsr;
1.16 import org.glassfish.grizzly.http.Method;
1.17 import org.glassfish.grizzly.http.server.HttpHandler;
1.18 import org.glassfish.grizzly.http.server.Request;
1.19 @@ -38,7 +40,7 @@
1.20 *
1.21 * @author phrebejk
1.22 */
1.23 -public class Dew extends HttpHandler {
1.24 +public class Dew extends HttpHandler implements Bck2Brwsr.Resources {
1.25 private String html = "";
1.26 private Compile data;
1.27
1.28 @@ -81,37 +83,6 @@
1.29 if (r.startsWith("/")) {
1.30 r = r.substring(1);
1.31 }
1.32 - if (r.startsWith("classes/")) {
1.33 - r = r.substring(8);
1.34 - byte[] arr = data == null ? null : data.get(r);
1.35 - if (arr == null) {
1.36 - response.setError();
1.37 - response.setDetailMessage("No data for " + r + " yet!");
1.38 - return;
1.39 - }
1.40 - try (Writer w = response.getWriter()) {
1.41 - response.setContentType("text/javascript");
1.42 - w.append("[");
1.43 - for (int i = 0; i < arr.length; i++) {
1.44 - int b = arr[i];
1.45 - if (b == -1) {
1.46 - break;
1.47 - }
1.48 - if (i > 0) {
1.49 - w.append(", ");
1.50 - }
1.51 - if (i % 20 == 0) {
1.52 - w.write("\n");
1.53 - }
1.54 - if (b > 127) {
1.55 - b = b - 256;
1.56 - }
1.57 - w.append(Integer.toString(b));
1.58 - }
1.59 - w.append("\n]");
1.60 - }
1.61 - return;
1.62 - }
1.63
1.64 if (r.endsWith(".html") || r.endsWith(".xhtml")) {
1.65 response.setContentType("text/html");
1.66 @@ -125,7 +96,6 @@
1.67 response.setStatus(404);
1.68 }
1.69 }
1.70 - private static final Logger LOG = Logger.getLogger(Dew.class.getName());
1.71
1.72 static void copyStream(InputStream is, OutputStream os, String baseURL) throws IOException {
1.73 for (;;) {
1.74 @@ -136,5 +106,10 @@
1.75 os.write(ch);
1.76 }
1.77 }
1.78 -
1.79 +
1.80 + @Override
1.81 + public InputStream get(String r) throws IOException {
1.82 + byte[] arr = data == null ? null : data.get(r);
1.83 + return arr == null ? null : new ByteArrayInputStream(arr);
1.84 + }
1.85 }