Example usage for com.google.gwt.http.client RequestBuilder sendRequest

List of usage examples for com.google.gwt.http.client RequestBuilder sendRequest

Introduction

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

Prototype

public Request sendRequest(String requestData, RequestCallback callback) throws RequestException 

Source Link

Document

Sends an HTTP request based on the current builder configuration with the specified data and callback.

Usage

From source file:n3phele.client.view.ForgotPasswordView.java

License:Open Source License

private void createUser(String url, final String email, String firstName, String lastName) {

    // Send request to server and catch any errors.
    RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, url);
    builder.setUser("signup");
    builder.setPassword("newuser");
    builder.setHeader("Content-type", "application/x-www-form-urlencoded");
    StringBuilder args = new StringBuilder();
    args.append("email=");
    args.append(URL.encodeQueryString(email));
    args.append("&firstName=");
    args.append(URL.encodeQueryString(firstName));
    args.append("&lastName=");
    args.append(URL.encodeQueryString(lastName));

    try {//from www.j  a va  2  s  . c o m
        @SuppressWarnings("unused")
        Request request = builder.sendRequest(args.toString(), new RequestCallback() {
            public void onError(Request request, Throwable exception) {
                Window.alert("User create error " + exception.getMessage());
            }

            public void onResponseReceived(Request request, Response response) {
                GWT.log("Got reply");
                if (201 == response.getStatusCode()) {
                    Window.alert("User " + email + " password reset. Check your email for details.");
                } else {
                    Window.alert("User password reset failure " + response.getStatusText() + "\n"
                            + response.getText());
                }
            }

        });
    } catch (RequestException e) {
        Window.alert("User password reset exception " + e.getMessage());
    }
}

From source file:n3phele.client.view.NewUserView.java

License:Open Source License

private void createUser(String url, final String email, String firstName, String lastName, String password,
        String ec2Id, String ec2Secret) {

    // Send request to server and catch any errors.
    RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, url);
    builder.setUser("signup");
    builder.setPassword("newuser");
    builder.setHeader("Content-type", "application/x-www-form-urlencoded");
    StringBuilder args = new StringBuilder();
    args.append("email=");
    args.append(URL.encodeQueryString(email));
    args.append("&firstName=");
    args.append(URL.encodeQueryString(firstName));
    args.append("&lastName=");
    args.append(URL.encodeQueryString(lastName));
    if (password != null && password.length() > 0) {
        args.append("&secret=");
        args.append(URL.encodeQueryString(password));
    }/*  w  ww . j  av  a  2 s  . c o  m*/
    if (ec2Id != null && ec2Id.length() != 0) {
        args.append("&ec2Id=");
        args.append(URL.encodeQueryString(ec2Id));
        args.append("&ec2Secret=");
        args.append(URL.encodeQueryString(ec2Secret));
    }
    try {
        @SuppressWarnings("unused")
        Request request = builder.sendRequest(args.toString(), new RequestCallback() {
            public void onError(Request request, Throwable exception) {
                Window.alert("User create error " + exception.getMessage());
            }

            public void onResponseReceived(Request request, Response response) {
                GWT.log("Got reply");
                if (201 == response.getStatusCode()) {
                    Window.alert("User " + email + " created.");
                } else {
                    Window.alert("User create failure " + response.getStatusText() + "\n" + response.getText());
                }
            }

        });
    } catch (RequestException e) {
        Window.alert("Account create exception " + e.getMessage());
    }
}

From source file:n3phele.client.view.RepoListView.java

License:Open Source License

private void kill(String uri) {
    String url = uri;//ww  w. j a  v a2  s.  c om
    // Send request to server and catch any errors.
    RequestBuilder builder = AuthenticatedRequestFactory.newRequest(RequestBuilder.DELETE, url);

    try {
        builder.sendRequest(null, new RequestCallback() {
            public void onError(Request request, Throwable exception) {
                Window.alert("Couldn't delete " + exception.getMessage());
            }

            public void onResponseReceived(Request request, Response response) {
                if (204 == response.getStatusCode()) {
                    if (RepoListView.this.repositoryListActivity != null)
                        RepoListView.this.repositoryListActivity.getRepositoryList();
                } else {
                    Window.alert("Couldn't delete (" + response.getStatusText() + ")");
                }
            }
        });
    } catch (RequestException e) {
        Window.alert("Couldn't delete " + e.getMessage());

    }
}

From source file:net.dancioi.jcsphotogallery.client.model.ReadXMLGeneric.java

License:Open Source License

/**
 * Gets the XML file from http server./*w  ww. j av  a 2s.co  m*/
 */
public void readXmlFile(final String file, final int flag) {
    RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.GET, file);
    try {
        requestBuilder.sendRequest(null, new RequestCallback() {
            public void onError(Request request, Throwable exception) {
                showException("Error sending request");
            }

            public void onResponseReceived(Request request, Response response) {
                if (200 == response.getStatusCode()) {
                    parseXMLString(response.getText(), flag); // careful here, this is an asynchronous callback.
                } else if (404 == response.getStatusCode()) {
                    showException("File " + file + " not found on server. Wrong name or missing.");
                } else {
                    showException("Other exception on GET the " + file + " file");
                }
            }
        });
    } catch (RequestException ex) {
        new ReadException("Error sending request");
    }
}

From source file:net.ffxml.gwt.json.client.JsonRpc.java

License:Apache License

/**
 * Executes a json-rpc request./* www .j a v  a 2  s  .  co  m*/
 * 
 * @param url
 *            The location of the service
 * @param username
 *            The username for basic authentification
 * @param password
 *            The password for basic authentification
 * @param method
 *            The method name
 * @param params
 *            An array of objects containing the parameters
 * @param callback
 *            A callbackhandler like in gwt's rpc.
 */
public void request(final String url, String username, String password, final String method, Object[] params,
        final AsyncCallback callback) {

    HashMap request = new HashMap();
    request.put("method", method);
    if (params == null) {
        params = new Object[] {};
    }
    request.put("params", params);
    request.put("id", new Integer(requestSerial++));

    if (username == null)
        if (requestUser != null)
            username = requestUser;
    if (password == null)
        if (requestPassword != null)
            password = requestPassword;

    RequestCallback handler = new RequestCallback() {
        public void onResponseReceived(Request request, Response response) {
            try {
                String resp = response.getText();
                if (resp.equals(""))
                    throw new RuntimeException("empty");
                HashMap reply = (HashMap) decode(resp);

                if (reply == null) {
                    RuntimeException runtimeException = new RuntimeException("parse: " + response.getText());
                    fireFailure(runtimeException);
                    callback.onFailure(runtimeException);
                }

                if (isErrorResponse(reply)) {
                    RuntimeException runtimeException = new RuntimeException("error: " + reply.get("error"));
                    fireFailure(runtimeException);
                    callback.onFailure(runtimeException);
                } else if (isSuccessfulResponse(reply)) {
                    callback.onSuccess(reply.get("result"));
                } else {
                    RuntimeException runtimeException = new RuntimeException("syntax: " + response.getText());
                    fireFailure(runtimeException);
                    callback.onFailure(runtimeException);
                }
            } catch (RuntimeException e) {
                fireFailure(e);
                callback.onFailure(e);
            } finally {
                decreaseRequestCounter();
            }
        }

        public void onError(Request request, Throwable exception) {
            try {
                if (exception instanceof RequestTimeoutException) {
                    RuntimeException runtimeException = new RuntimeException("timeout");
                    fireFailure(runtimeException);
                    callback.onFailure(runtimeException);
                } else {
                    RuntimeException runtimeException = new RuntimeException("other");
                    fireFailure(runtimeException);
                    callback.onFailure(runtimeException);
                }
            } catch (RuntimeException e) {
                fireFailure(e);
                callback.onFailure(e);
            } finally {
                decreaseRequestCounter();
            }
        }

        private boolean isErrorResponse(HashMap response) {
            return response.get("error") != null && response.get("result") == null;
        }

        private boolean isSuccessfulResponse(HashMap response) {
            return response.get("error") == null && response.containsKey("result");
        }
    };

    increaseRequestCounter();

    RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, url);
    if (requestTimeout > 0)
        builder.setTimeoutMillis(requestTimeout);
    builder.setHeader("Content-Type", "application/json; charset=utf-8");
    String body = new String(encode(request));
    builder.setHeader("Content-Length", Integer.toString(body.length()));
    if (requestCookie != null)
        if (Cookies.getCookie(requestCookie) != null)
            builder.setHeader("X-Cookie", Cookies.getCookie(requestCookie));
    if (username != null)
        builder.setUser(username);
    if (password != null)
        builder.setPassword(password);
    try {
        builder.sendRequest(body, handler);
    } catch (RequestException exception) {
        handler.onError(null, exception);
    }
}

From source file:net.opentsdb.tsd.client.QueryUi.java

License:Open Source License

private void asyncGetJson(final String url, final GotJsonCallback callback) {
    final RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);
    try {//from  ww w. ja  va2  s.c o  m
        builder.sendRequest(null, new RequestCallback() {
            public void onError(final Request request, final Throwable e) {
                displayError("Failed to get " + url + ": " + e.getMessage());
                // Since we don't call the callback we've been given, reset this
                // bit of state as we're not going to retry anything right now.
                pending_requests = 0;
            }

            public void onResponseReceived(final Request request, final Response response) {
                final int code = response.getStatusCode();
                if (code == Response.SC_OK) {
                    clearError();
                    callback.got(JSONParser.parse(response.getText()));
                    return;
                } else if (code >= Response.SC_BAD_REQUEST) { // 400+ => Oops.
                    // Since we don't call the callback we've been given, reset this
                    // bit of state as we're not going to retry anything right now.
                    pending_requests = 0;
                    String err = response.getText();
                    // If the response looks like a JSON object, it probably contains
                    // an error message.
                    if (!err.isEmpty() && err.charAt(0) == '{') {
                        final JSONValue json = JSONParser.parse(err);
                        final JSONObject result = json == null ? null : json.isObject();
                        final JSONValue jerr = result == null ? null : result.get("err");
                        final JSONString serr = jerr == null ? null : jerr.isString();
                        err = serr.stringValue();
                        // If the error message has multiple lines (which is common if
                        // it contains a stack trace), show only the first line and
                        // hide the rest in a panel users can expand.
                        final int newline = err.indexOf('\n', 1);
                        final String msg = "Request failed: " + response.getStatusText();
                        if (newline < 0) {
                            displayError(msg + ": " + err);
                        } else {
                            displayError(msg);
                            final DisclosurePanel dp = new DisclosurePanel(err.substring(0, newline));
                            RootPanel.get("queryuimain").add(dp); // Attach the widget.
                            final InlineLabel content = new InlineLabel(err.substring(newline, err.length()));
                            content.addStyleName("fwf"); // For readable stack traces.
                            dp.setContent(content);
                            current_error.getElement().appendChild(dp.getElement());
                        }
                    } else {
                        displayError("Request failed while getting " + url + ": " + response.getStatusText());
                        // Since we don't call the callback we've been given, reset this
                        // bit of state as we're not going to retry anything right now.
                        pending_requests = 0;
                    }
                    graphstatus.setText("");
                }
            }
        });
    } catch (RequestException e) {
        displayError("Failed to get " + url + ": " + e.getMessage());
    }
}

From source file:net.opentsdb.tsd.client.RemoteOracle.java

License:Open Source License

@Override
public void requestSuggestions(final Request request, final Callback callback) {
    if (current != null) {
        pending_req = request;//  w  ww  .j  av a 2s  .  com
        pending_cb = callback;
        return;
    }
    current = callback;
    {
        final String this_query = request.getQuery();
        // Check if we can serve this from our local cache, without even talking
        // to the server.  This is possible if either of those is true:
        //   1. We've already seen this query recently.
        //   2. This new query precedes another one and the user basically just
        //      typed another letter, so if the new query is "less than" the last
        //      result we got from the server, we know we already cached the full
        //      range of results covering the new request.
        if ((last_query != null && last_query.compareTo(this_query) <= 0
                && this_query.compareTo(last_suggestion) < 0) || queries_seen.check(this_query)) {
            current = null;
            cache.requestSuggestions(request, callback);
            return;
        }
        last_query = this_query;
    }

    final RequestBuilder builder = new RequestBuilder(RequestBuilder.GET,
            SUGGEST_URL + type + "&q=" + last_query);
    try {
        builder.sendRequest(null, new RequestCallback() {
            public void onError(final com.google.gwt.http.client.Request r, final Throwable e) {
                current = null; // Something bad happened, drop the current request.
                if (pending_req != null) { // But if we have another waiting...
                    requestSuggestions(pending_req, pending_cb); // ... try it now.
                }
            }

            // Need to use fully-qualified names as this class inherits already
            // from a pair of inner classes called Request / Response :-/
            public void onResponseReceived(final com.google.gwt.http.client.Request r,
                    final com.google.gwt.http.client.Response response) {
                if (response.getStatusCode() == com.google.gwt.http.client.Response.SC_OK
                        // Is this response still relevant to what the requester wants?
                        && requester.getText().startsWith(last_query)) {
                    final JSONValue json = JSONParser.parse(response.getText());
                    // In case this request returned nothing, we pretend the last
                    // suggestion ended with the largest character possible, so we
                    // won't send more requests to the server if the user keeps
                    // adding extra characters.
                    last_suggestion = last_query + "\377";
                    if (json != null && json.isArray() != null) {
                        final JSONArray results = json.isArray();
                        final int n = Math.min(request.getLimit(), results.size());
                        for (int i = 0; i < n; i++) {
                            final JSONValue suggestion = results.get(i);
                            if (suggestion == null || suggestion.isString() == null) {
                                continue;
                            }
                            final String suggestionstr = suggestion.isString().stringValue();
                            last_suggestion = suggestionstr;
                            cache.add(suggestionstr);
                        }
                        cache.requestSuggestions(request, callback);
                        pending_req = null;
                        pending_cb = null;
                    }
                }
                current = null; // Regardless of what happened above, this is done.
                if (pending_req != null) {
                    final Request req = pending_req;
                    final Callback cb = pending_cb;
                    pending_req = null;
                    pending_cb = null;
                    requestSuggestions(req, cb);
                }
            }
        });
    } catch (RequestException ignore) {
    }
}

From source file:net.skyesoft.nhs.dka.client.Audit.java

License:Apache License

public void loadPreviousData(String studyNo) {
    RequestBuilder builder = new RequestBuilder(RequestBuilder.GET,
            Defines.FORM_HANDLER + "?mode=loaddata&StudyNo=" + studyNo + "&TableName=" + PAGE_ID + "&"
                    + Utils.DATE_PARAM + "=" + Utils.getDate());
    builder.setUser(Defines.USERNAME);//from  w  w w  . jav  a 2 s.c  om
    builder.setPassword(Defines.PASSWORD);
    builder.setTimeoutMillis(Defines.TIMEOUT);

    try {
        builder.sendRequest(null, new PreviousDataLoader());
    } catch (RequestException re) {
        Window.alert("Failed to load the data for Audit : " + re.getMessage());
    }
}

From source file:net.skyesoft.nhs.dka.client.Audit.java

License:Apache License

public void save() {
    studyNo = tbStudyNo.getText();//from  w ww  . j a va 2s . c om

    String postData = tbStudyNo.getName() + "=" + tbStudyNo.getText() + "&";
    postData += Defines.TABLE_NAME_KEY + "=" + PAGE_ID + "&";
    postData += tbStudyNo.getName() + "=" + tbStudyNo.getText() + "&";
    postData += tbAge.getName() + "=" + tbAge.getText() + "&";
    postData += tbDaysInPatient.getName() + "=" + tbDaysInPatient.getText() + "&";
    postData += tbHCO3.getName() + "=" + tbHCO3.getText() + "&";
    postData += tbPH.getName() + "=" + tbPH.getText() + "&";
    postData += tbPHRangeUpper.getName() + "=" + tbPHRangeUpper.getText() + "&";
    postData += tbPHRangeLower.getName() + "=" + tbPHRangeLower.getText() + "&";
    postData += lbSex.getName() + "=" + lbSex.getValue(lbSex.getSelectedIndex()) + "&";
    postData += lbTypeOfDiabetes.getName() + "="
            + lbTypeOfDiabetes.getValue(lbTypeOfDiabetes.getSelectedIndex()) + "&";
    postData += lbSourceOfReferral.getName() + "="
            + lbSourceOfReferral.getValue(lbSourceOfReferral.getSelectedIndex()) + "&";
    postData += lbSymptoms.getName() + "=" + lbSymptoms.getValue(lbSymptoms.getSelectedIndex()) + "&";
    postData += lbBM15.getName() + "=" + lbBM15.getValue(lbBM15.getSelectedIndex()) + "&";
    postData += lbKetones.getName() + "=" + lbKetones.getValue(lbKetones.getSelectedIndex()) + "&";
    postData += lbDiagnosisConfirmed.getName() + "="
            + lbDiagnosisConfirmed.getValue(lbDiagnosisConfirmed.getSelectedIndex()) + "&";
    postData += tbBloodGlucoseLevelOnArrival.getName() + "=" + tbBloodGlucoseLevelOnArrival.getText() + "&";

    postData += Utils.DATE_PARAM + "=" + Utils.getDate();

    RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, Defines.FORM_HANDLER);
    builder.setUser(Defines.USERNAME);
    builder.setPassword(Defines.PASSWORD);
    builder.setTimeoutMillis(Defines.TIMEOUT);

    try {
        builder.sendRequest(postData, new PreviousDataLoader());
    } catch (RequestException re) {
        Window.alert("Failed to save the data for Audit : " + re.getMessage());
    }
}

From source file:next.celebs.api.API.java

License:Apache License

public void getYahooImages(final Response<ArrayList<YahooPhoto>> response) {
    // JsonArrayReader<YahooPhoto, JsArray<? extends JavaScriptObject>> reader = new JsonArrayReader<YahooPhoto,
    // JsArray<? extends JavaScriptObject>>() {
    // @Override/*w  ww. jav  a2 s.  co m*/
    // public void read(ArrayList<YahooPhoto> data, String jsonData) {
    // response.read(data);
    // response.afterRead(jsonData);
    // }
    // };
    String url = "http://search.yahooapis.com/ImageSearchService/V1/imageSearch?query=victoria%2Bsecret&appid=rV3eqIDV34GjBZBX2fRuLJ5qkmKe2qyRXcN_ZtBJv0Eo6Uh7b9OUPx.MbRXI8C6u0xo-&results=5&output=json&";
    // String url =
    // "/yapi/ImageSearchService/V1/imageSearch?query=victoria%2Bsecret&appid=rV3eqIDV34GjBZBX2fRuLJ5qkmKe2qyRXcN_ZtBJv0Eo6Uh7b9OUPx.MbRXI8C6u0xo-&results=5&output=json&";
    // HTTP.doGet(url, null, reader);

    // String url = "http://127.0.0.1:8888/";
    RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);

    JsonArrayReader<YahooPhoto, JsArray<? extends JavaScriptObject>> reader = new JsonArrayReader<YahooPhoto, JsArray<? extends JavaScriptObject>>() {
        @Override
        public void read(ArrayList<YahooPhoto> data, String jsonData) {
            response.read(data);
            response.afterRead(jsonData);
        }
    };

    try {

        class ResponseReader2 extends ResponseReader {

            @Override
            public String getName() {
                return "ResponseReader2";
            }

            @Override
            public void onSuccess(com.google.gwt.http.client.Response resp) {
                Window.alert("succss: " + resp.getText());
            }
        }

        Window.alert("before GET '" + url + "'");
        builder.sendRequest(null, new Callback_(reader));
    } catch (RequestException e) {
        Window.alert("doGet:exc " + e.getMessage());
        Log.error("RequestException: " + e.getMessage());
        // responseReader.onError(null, e);
    }
}