diff options
| author | krasimir <krasimir@chalmers.se> | 2010-10-11 17:18:28 +0000 |
|---|---|---|
| committer | krasimir <krasimir@chalmers.se> | 2010-10-11 17:18:28 +0000 |
| commit | de0354f991acd4cf559aa432cb60c8fcee682ef0 (patch) | |
| tree | c155688fbcbec7c7ad6174ac03505182ba14710a /src/ui | |
| parent | 3ac637ddcb976a82dced91b36a7ceb5f0ca2ea84 (diff) | |
the exhaustive/random generator now knows how to handle computable functions in the types
Diffstat (limited to 'src/ui')
| -rw-r--r-- | src/ui/gwt/src/org/grammaticalframework/ui/gwt/client/JSONRequestBuilder.java | 30 |
1 files changed, 30 insertions, 0 deletions
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 <T extends JavaScriptObject> JSONRequest sendDataRequest (String base, List<Arg> vars, String content, final JSONCallback<T> 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.<T>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 extends JavaScriptObject> T eval(String json) /*-{ return eval('(' + json + ')'); }-*/; |
