Example usage for com.google.gwt.http.client RequestCallback RequestCallback

List of usage examples for com.google.gwt.http.client RequestCallback RequestCallback

Introduction

In this page you can find the example usage for com.google.gwt.http.client RequestCallback RequestCallback.

Prototype

RequestCallback

Source Link

Usage

From source file:com.data2semantics.yasgui.client.helpers.AppcacheHelper.java

License:Open Source License

public void getAppcacheSize() {
    String url = GWT.getModuleBaseURL() + "manifest.appcache?count";
    if (JsMethods.isDevPageLoaded())
        url += "&type=dev";
    RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);
    try {/*from   w ww.ja  va  2  s . co  m*/
        builder.sendRequest(null, new RequestCallback() {
            public void onError(Request request, Throwable e) {
                view.getLogger().severe("Unable to fetch appcache count (does browser support appcache??)");
            }

            @Override
            public void onResponseReceived(Request request, Response response) {
                if (response.getStatusCode() == 200) {
                    setAppcacheSize(response.getText());
                } else {
                    view.getLogger().severe("Unable to fetch appcache count (does browser support appcache??)");
                }

            }
        });
    } catch (RequestException e) {
        //couldnt connect to server
        view.getLogger().severe("Unable to fetch appcache count (does browser support appcache??)");
    }
}

From source file:com.data2semantics.yasgui.client.helpers.SparqlQuery.java

License:Open Source License

public void doRequest() {
    if (!view.getConnHelper().isOnline() && !JsMethods.corsEnabled(endpoint)) {
        //cors disabled and not online: problem!
        String errorMsg = "YASGUI is current not connected to the YASGUI server. "
                + "This mean you can only access endpoints on your own computer (e.g. localhost), which are <a href=\"http://enable-cors.org/\" target=\"_blank\">CORS enabled</a>.<br>"
                + "The endpoint you try to access is either not running on your computer, or not CORS-enabled.<br>"
                + corsNotification;//w w w .j  av  a2  s .  co  m
        view.getErrorHelper().onQueryError(errorMsg, endpoint, queryString, customQueryArgs);
        return;
    }

    view.getElements().onQueryStart();
    RequestBuilder builder;
    HashMultimap<String, String> queryArgs = customQueryArgs;
    RequestBuilder.Method requestMethod = queryRequestMethod;
    queryArgs.put("query", queryString);
    if (JsMethods.corsEnabled(endpoint)) {
        String params = Helper.getParamsAsString(queryArgs);
        String url = endpoint;
        if (queryRequestMethod == RequestBuilder.GET) {
            url += "?" + params;
        }
        builder = new RequestBuilder(queryRequestMethod, url);
        if (queryRequestMethod == RequestBuilder.POST) {
            builder.setHeader("Content-Type", "application/x-www-form-urlencoded");
            builder.setRequestData(params);
        }
    } else {
        requestMethod = RequestBuilder.POST;
        queryArgs.put("endpoint", endpoint);
        queryArgs.put("requestMethod", (queryRequestMethod == RequestBuilder.POST ? "POST" : "GET"));
        builder = new RequestBuilder(RequestBuilder.POST, GWT.getModuleBaseURL() + "sparql"); //send via proxy
        builder.setHeader("Content-Type", "application/x-www-form-urlencoded");
    }
    builder.setHeader("Accept", acceptHeader);
    try {
        final long startTime = System.currentTimeMillis();
        builder.sendRequest((requestMethod == RequestBuilder.POST ? Helper.getParamsAsString(queryArgs) : null),
                new RequestCallback() {
                    public void onError(Request request, Throwable e) {
                        //e.g. a timeout
                        queryErrorHandler(e);
                    }

                    @Override
                    public void onResponseReceived(Request request, Response response) {
                        view.getElements().onQueryFinish();
                        if (!response.getStatusText().equals("Abort")) {
                            //if user cancels query, textStatus will be 'abort'. No need to show error window then
                            if (response.getStatusCode() >= 200 && response.getStatusCode() < 300) {
                                if (view.getSettings().useGoogleAnalytics()) {
                                    long stopTime = System.currentTimeMillis();
                                    GoogleAnalytics.trackEvent(new GoogleAnalyticsEvent(endpoint,
                                            JsMethods.getUncommentedSparql(queryString),
                                            Integer.toString((int) (stopTime - startTime)),
                                            (int) (stopTime - startTime)));
                                }
                                drawResults(response.getText(), response.getHeader("Content-Type"));
                            } else {
                                queryErrorHandler(response);

                            }
                        }

                    }
                });
    } catch (RequestException e) {
        queryErrorHandler(e);
    }
}

From source file:com.dawg6.gwt.client.service.ServiceUtil.java

License:Open Source License

public void versionCheck(final Handler<VersionCheck> handler) {
    Scheduler.get().scheduleDeferred(new Command() {

        @Override//from ww w.  ja  v  a 2s .c  o  m
        public void execute() {
            RequestBuilder builder = new RequestBuilder(RequestBuilder.GET,
                    GWT.getHostPageBaseURL() + versionServletUri);

            //            GWT.log("Version URL = " + builder.getUrl());

            final VersionCheck result = new VersionCheck();

            try {
                builder.sendRequest(null, new RequestCallback() {

                    @Override
                    public void onResponseReceived(Request request, Response response) {

                        String text = response.getText();

                        if (text != null) {
                            if (text.startsWith(VersionBuilder.PREFIX)) {

                                result.serverVersion = text.substring(VersionBuilder.PREFIX.length());

                                if (text.startsWith(CLIENT_VERSION.getPrefixString())) {
                                    result.success = true;
                                }

                            }
                        }

                        if ((!result.success) && (result.serverVersion == null)) {
                            result.exception = "Unable to obtain Server version.";
                        }

                        if (handler != null)
                            handler.handleResult(result);
                    }

                    @Override
                    public void onError(Request request, Throwable exception) {
                        result.success = false;
                        result.exception = "Error communicating with server.";

                        if (handler != null)
                            handler.handleResult(result);
                    }
                });

            } catch (Exception e) {
                result.success = false;
                result.exception = "Error communicating with server.";

                if (handler != null)
                    handler.handleResult(result);
            }
        }
    });

}

From source file:com.dawg6.web.dhcalc.client.Service.java

License:Open Source License

public void versionCheck(final Handler<VersionCheck> handler) {
    Scheduler.get().scheduleDeferred(new Command() {

        @Override//from  ww w  .  j a v a 2s . c  om
        public void execute() {
            RequestBuilder builder = new RequestBuilder(RequestBuilder.GET,
                    GWT.getHostPageBaseURL() + "version?v2");

            final VersionCheck result = new VersionCheck();

            try {
                builder.sendRequest(null, new RequestCallback() {

                    @Override
                    public void onResponseReceived(Request request, Response response) {

                        String text = response.getText();

                        if (text != null) {
                            if (text.startsWith(Version.PREFIX)) {

                                result.serverVersion = text.substring(Version.PREFIX.length());

                                if (text.startsWith(Version.getVersion().getPrefixString())) {
                                    result.success = true;
                                }

                            }
                        }

                        if ((!result.success) && (result.serverVersion == null)) {
                            result.exception = "Unable to obtain Server version.";
                        }

                        if (handler != null)
                            handler.handleResult(result);
                    }

                    @Override
                    public void onError(Request request, Throwable exception) {
                        result.success = false;
                        result.exception = "Error communicating with server.";

                        if (handler != null)
                            handler.handleResult(result);
                    }
                });

            } catch (Exception e) {
                result.success = false;
                result.exception = "Error communicating with server.";

                if (handler != null)
                    handler.handleResult(result);
            }
        }
    });

}

From source file:com.ephesoft.gxt.rv.client.layout.ReviewValidateLayout.java

License:Open Source License

public void onWindowClose() {

    final String batchInstanceIdentifier = ReviewValidateNavigator.getCurrentBatchInstanceIdentifier();
    if (!StringUtil.isNullOrEmpty(batchInstanceIdentifier)) {

        // following code was inserted to call a webservice to do cleanup and updateTime on RV screen close.
        RequestBuilder builder = new RequestBuilder(RequestBuilder.POST,
                StringUtil.concatenate(CoreCommonConstant.WINDOW_CLOSE_SERVICE_URL, batchInstanceIdentifier));
        final String postData = CoreCommonConstants.EMPTY_STRING;

        builder.setHeader(CoreCommonConstant.CONTENT_TYPE, CoreCommonConstant.MIME_TYPE);
        try {//ww  w  .  jav  a 2s .  co  m
            builder.sendRequest(postData, new RequestCallback() {

                public void onError(Request request, Throwable exception) {
                    // code will never reach here, before that window will be closed.
                }

                public void onResponseReceived(Request request, Response response) {
                    // code will never reach here, before that window will be closed.
                }
            });
        } catch (com.google.gwt.http.client.RequestException e) {
            // UNReachable Code..
        }

    }

}

From source file:com.example.jumpnote.web.jsonrpc.gwt.JsonRpcGwtClient.java

License:Apache License

public void callBatch(final List<JsonRpcClient.Call> calls, final BatchCallback callback) {
    RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, mRpcUrl);

    JSONObject requestJson = new JSONObject();
    JSONArray callsJson = new JSONArray();
    for (int i = 0; i < calls.size(); i++) {
        JsonRpcClient.Call call = calls.get(i);

        JSONObject callJson = new JSONObject();
        callJson.put("method", new JSONString(call.getMethodName()));

        if (call.getParams() != null) {
            JSONObject callParams = (JSONObject) call.getParams();
            for (String key : callParams.keySet()) {
                callJson.put(key, callParams.get(key));
            }/*from   www .  j  a  v a  2  s  . co m*/
        }

        callsJson.set(i, callJson);
    }

    requestJson.put("calls", callsJson);

    try {
        builder.sendRequest(requestJson.toString(), new RequestCallback() {
            public void onError(Request request, Throwable e) {
                callback.onError(-1, new JsonRpcException(-1, e.getMessage()));
            }

            public void onResponseReceived(Request request, Response response) {
                if (200 == response.getStatusCode()) {
                    JSONObject responseJson = JSONParser.parse(response.getText()).isObject();
                    JSONArray resultsJson = responseJson.get("results").isArray();
                    Object[] resultData = new Object[calls.size()];

                    for (int i = 0; i < calls.size(); i++) {
                        JSONObject result = resultsJson.get(i).isObject();
                        if (result.containsKey("error")) {
                            callback.onError(i,
                                    new JsonRpcException((int) result.get("error").isNumber().doubleValue(),
                                            calls.get(i).getMethodName(),
                                            result.get("message").isString().stringValue(), null));
                            resultData[i] = null;
                        } else {
                            resultData[i] = result.get("data");
                        }
                    }

                    callback.onData(resultData);
                } else {
                    callback.onError(-1, new JsonRpcException(-1,
                            "Received HTTP status code other than 200: " + response.getStatusText()));
                }
            }
        });
    } catch (RequestException e) {
        // Couldn't connect to server
        callback.onError(-1, new JsonRpcException(-1, e.getMessage()));
    }
}

From source file:com.extjs.gxt.ui.client.data.HttpProxy.java

License:sencha.com license

public void load(final DataReader<D> reader, final Object loadConfig, final AsyncCallback<D> callback) {
    try {/*from  w  w w .jav a  2s.c o  m*/
        String data = null;
        if (builder.getHTTPMethod().equals("POST")) {
            data = generateUrl(loadConfig);
        } else {
            String url = initUrl;
            url = url + (url.indexOf("?") == -1 ? "?" : "&");
            String params = generateUrl(loadConfig);
            url += params;
            setUrl(builder, url);
        }

        builder.sendRequest(data, new RequestCallback() {
            public void onError(Request request, Throwable exception) {
                callback.onFailure(exception);
            }

            @SuppressWarnings("unchecked")
            public void onResponseReceived(Request request, Response response) {
                if (response.getStatusCode() != Response.SC_OK) {
                    callback.onFailure(
                            new RuntimeException("HttpProxy: Invalid status code " + response.getStatusCode()));
                    return;
                }
                String text = response.getText();
                try {
                    D data = null;
                    if (reader != null) {
                        data = reader.read(loadConfig, text);
                    } else {
                        data = (D) text;
                    }
                    callback.onSuccess(data);
                } catch (Exception e) {
                    e.printStackTrace();
                    callback.onFailure(e);
                }
            }
        });
    } catch (Exception e) {
        callback.onFailure(e);
    }
}

From source file:com.extjs.gxt.ui.client.widget.HtmlContainer.java

License:sencha.com license

protected void requestData() {
    RequestBuilder rb = requestBuilder == null ? new RequestBuilder(httpMethod, url) : requestBuilder;

    if (callback == null) {
        callback = new RequestCallback() {
            public void onError(Request request, Throwable exception) {
                handleError(request, exception);
            }/*from www. j a  v a2  s .c  o m*/

            public void onResponseReceived(Request request, Response response) {
                handleResponseReceived(request, response);
            }
        };
    }
    try {
        rb.sendRequest(requestData, callback);
    } catch (RequestException e) {
        handleError(null, e);
    }
}

From source file:com.facebook.tsdb.tsdash.client.service.HTTPService.java

License:Apache License

private <T> void get(final AsyncCallback<T> callback, final String url, String params,
        final JSONDecoder<T> decoder) {
    RequestBuilder req = new RequestBuilder(RequestBuilder.GET, url + "?" + params);
    req.setTimeoutMillis(TIMEOUT);
    req.setCallback(new RequestCallback() {
        @Override/*from w  w  w .jav  a2 s.c  o  m*/
        public void onResponseReceived(Request request, Response response) {
            try {
                T result = decoder.tryDecodeFromService(response.getText());
                callback.onSuccess(result);
            } catch (JSONParseException e) {
                GWT.log("Error parsing data from '" + url + "'", e);
                callback.onFailure(e);
            } catch (ServiceException e) {
                GWT.log("Error in remote service", e);
                callback.onFailure(e);
            }
        }

        @Override
        public void onError(Request request, Throwable e) {
            GWT.log("Error sending GET request to '" + url + "'", e);
            callback.onFailure(e);
        }
    });
    try {
        req.send();
    } catch (RequestException e) {
        GWT.log("Request exception for '" + url + "'", e);
        callback.onFailure(e);
    }
}

From source file:com.feller.picup.client.PickUp.java

License:Open Source License

protected void getBucketURL() {
    RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, URL.encode(getBacketURL));

    try {/*from w  w  w  .ja v a2  s. co  m*/
        Request request = builder.sendRequest(null, new RequestCallback() {
            public void onError(Request request, Throwable exception) {
                displayError("Couldn't retrieve JSON ::" + exception.getMessage());
            }

            public void onResponseReceived(Request request, Response response) {
                if (200 == response.getStatusCode()) {

                    urlToQR(response.getText());
                } else {
                    displayError("couldn't retrieve JSON (" + response.getStatusCode() + ")");
                }
            }
        });
    } catch (RequestException e) {
        displayError("exception: Couldn't retrieve JSON" + e.getMessage());
    }

}