launcher/src/main/java/org/apidesign/bck2brwsr/dew/Dew.java
branchdew
changeset 541 927a5f9fa430
parent 471 3f71a3364367
     1.1 --- a/launcher/src/main/java/org/apidesign/bck2brwsr/dew/Dew.java	Wed Jan 16 12:44:54 2013 +0100
     1.2 +++ b/launcher/src/main/java/org/apidesign/bck2brwsr/dew/Dew.java	Mon Jan 21 22:10:08 2013 +0100
     1.3 @@ -24,6 +24,8 @@
     1.4  import java.io.OutputStream;
     1.5  import java.io.Writer;
     1.6  import java.util.List;
     1.7 +import java.util.Locale;
     1.8 +import java.util.Locale;
     1.9  import java.util.logging.Logger;
    1.10  import javax.tools.Diagnostic;
    1.11  import javax.tools.JavaFileObject;
    1.12 @@ -33,7 +35,9 @@
    1.13  import org.glassfish.grizzly.http.server.Request;
    1.14  import org.glassfish.grizzly.http.server.Response;
    1.15  import org.glassfish.grizzly.http.util.HttpStatus;
    1.16 +import org.json.JSONArray;
    1.17  import org.json.JSONObject;
    1.18 +import org.json.JSONStringer;
    1.19  import org.json.JSONTokener;
    1.20  
    1.21  /**
    1.22 @@ -62,7 +66,19 @@
    1.23                  response.getOutputStream().write("[]".getBytes());
    1.24                  response.setStatus(HttpStatus.OK_200);
    1.25              } else {
    1.26 -                response.getOutputStream().write(("[errors:'" + err + "']").getBytes());
    1.27 +                
    1.28 +                JSONArray errors = new JSONArray();
    1.29 +                
    1.30 +                for (Diagnostic<? extends JavaFileObject> d : err) {
    1.31 +                    JSONObject e = new JSONObject();
    1.32 +                    e.put("col", d.getColumnNumber());
    1.33 +                    e.put("line", d.getLineNumber());
    1.34 +                    e.put("kind", d.getKind().toString());
    1.35 +                    e.put("msg", d.getMessage(Locale.ENGLISH));
    1.36 +                    errors.put(e);
    1.37 +                }
    1.38 +                
    1.39 +                errors.write(response.getWriter());                
    1.40                  response.setStatus(HttpStatus.PRECONDITION_FAILED_412);
    1.41              }
    1.42