From de0354f991acd4cf559aa432cb60c8fcee682ef0 Mon Sep 17 00:00:00 2001 From: krasimir Date: Mon, 11 Oct 2010 17:18:28 +0000 Subject: the exhaustive/random generator now knows how to handle computable functions in the types --- .../ui/gwt/client/JSONRequestBuilder.java | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'src/ui') diff --git a/src/ui/gwt/src/org/grammaticalframework/ui/gwt/client/JSONRequestBuilder.java b/src/ui/gwt/src/org/grammaticalframework/ui/gwt/client/JSONRequestBuilder.java index 1e4fc8e4a..104536770 100644 --- a/src/ui/gwt/src/org/grammaticalframework/ui/gwt/client/JSONRequestBuilder.java +++ b/src/ui/gwt/src/org/grammaticalframework/ui/gwt/client/JSONRequestBuilder.java @@ -53,6 +53,36 @@ public class JSONRequestBuilder { return new JSONRequest(request); } + public static JSONRequest sendDataRequest (String base, List vars, String content, final JSONCallback callback) { + String url = getQueryURL(base,vars); + RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, url); + builder.setRequestData(content); + builder.setTimeoutMillis(30000); + builder.setHeader("Accept","text/plain, text/html;q=0.5, */*;q=0.1"); + Request request = null; + + try { + request = builder.sendRequest(null, new RequestCallback() { + public void onError(Request request, Throwable e) { + callback.onError(e); + } + + public void onResponseReceived(Request request, Response response) { + if (200 == response.getStatusCode()) { + callback.onResult(JSONRequestBuilder.eval(response.getText())); + } else { + RequestException e = new RequestException("Response not OK: " + response.getStatusCode() + ". " + response.getText()); + callback.onError(e); + } + } + }); + } catch (RequestException e) { + callback.onError(e); + } + + return new JSONRequest(request); + } + private static native T eval(String json) /*-{ return eval('(' + json + ')'); }-*/; -- cgit v1.2.3