Keep scrolling to bottom launcher
authorJaroslav Tulach <jaroslav.tulach@apidesign.org>
Mon, 17 Dec 2012 12:09:57 +0100
branchlauncher
changeset 3438ecdd87e870a
parent 342 60f9aad12731
child 344 4adbde04e899
Keep scrolling to bottom
launcher/src/main/java/org/apidesign/bck2brwsr/launcher/Console.java
     1.1 --- a/launcher/src/main/java/org/apidesign/bck2brwsr/launcher/Console.java	Mon Dec 17 11:58:48 2012 +0100
     1.2 +++ b/launcher/src/main/java/org/apidesign/bck2brwsr/launcher/Console.java	Mon Dec 17 12:09:57 2012 +0100
     1.3 @@ -42,8 +42,11 @@
     1.4          "window.document.getElementById(id)[attr] = value;")
     1.5      private static native void setAttr(String id, String attr, Object value);
     1.6  
     1.7 -    private static void addAttr(String id, String attr, String newText) {
     1.8 +    private static void log(String newText) {
     1.9 +        String id = "result";
    1.10 +        String attr = "value";
    1.11          setAttr(id, attr, getAttr(id, attr) + "\n" + newText);
    1.12 +        setAttr(id, "scrollTop", getAttr(id, "scrollHeight"));
    1.13      }
    1.14      
    1.15      public static void execute() throws Exception {
    1.16 @@ -54,25 +57,25 @@
    1.17      }
    1.18      
    1.19      public static void harness(String url) {
    1.20 -        setAttr("result", "value", "Connecting to " + url);
    1.21 +        log("Connecting to " + url);
    1.22          try {
    1.23              URL u = new URL(url);
    1.24              for (;;) {
    1.25                  String data = (String) u.getContent(new Class[] { String.class });
    1.26 -                addAttr("result", "value", data);
    1.27 +                log(data);
    1.28                  if (data.isEmpty()) {
    1.29 -                    addAttr("result", "value", "No data, exiting");
    1.30 +                    log("No data, exiting");
    1.31                      break;
    1.32                  }
    1.33                  
    1.34                  Case c = Case.parseData(data);
    1.35 -                addAttr("result", "value", "className: " + c.getClassName());
    1.36 -                addAttr("result", "value", "methodName: " + c.getMethodName());
    1.37 -                addAttr("result", "value", "request: " + c.getRequestId());
    1.38 +                log("className: " + c.getClassName());
    1.39 +                log("methodName: " + c.getMethodName());
    1.40 +                log("request: " + c.getRequestId());
    1.41  
    1.42                  Object result = invokeMethod(c.getClassName(), c.getMethodName());
    1.43  
    1.44 -                addAttr("result", "value", "result: " + result);
    1.45 +                log("result: " + result);
    1.46                  
    1.47                  String toSend;
    1.48                  if (result == null) {
    1.49 @@ -81,13 +84,13 @@
    1.50                      toSend = result.toString();
    1.51                  }
    1.52                  
    1.53 -                addAttr("result", "value", "Sending back: " + url + "?request=" + c.getRequestId() + "&result=" + toSend);
    1.54 +                log("Sending back: " + url + "?request=" + c.getRequestId() + "&result=" + toSend);
    1.55                  u = new URL(url + "?request=" + c.getRequestId() + "&result=" + toSend);
    1.56              }
    1.57              
    1.58              
    1.59          } catch (Exception ex) {
    1.60 -            addAttr("result", "value", ex.getMessage());
    1.61 +            log(ex.getMessage());
    1.62          }
    1.63      }
    1.64