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