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

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

Introduction

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

Prototype

Method GET

To view the source code for com.google.gwt.http.client RequestBuilder GET.

Click Source Link

Document

Specifies that the HTTP GET method should be used.

Usage

From source file:com.epam.feel.client.ui.util.gwtupload.FixedUploader.java

License:Apache License

/**
 * Sends a request to the server in order to get the session cookie, when the response with the session comes, it
 * submits the form. This is needed because this client application usually is part of static files, and the server
 * doesn't set the session until dynamic pages are requested. If we submit the form without a session, the server
 * creates a new one and send a cookie in the response, but the response with the cookie comes to the client at the
 * end of the request, and in the meanwhile the client needs to know the session in order to ask the server for the
 * upload status./*from  www.ja  va2s. c o m*/
 */
private void sendAjaxRequestToValidateSession() throws RequestException {
    // Using a reusable builder makes IE fail
    RequestBuilder reqBuilder = new RequestBuilder(RequestBuilder.GET, composeURL("new_session=true"));
    reqBuilder.setTimeoutMillis(DEFAULT_AJAX_TIMEOUT);
    reqBuilder.sendRequest("create_session", onSessionReceivedCallback);
}

From source file:com.extjs.gxt.samples.client.examples.grid.JsonGridExample.java

License:Open Source License

@Override
protected void onRender(Element parent, int index) {
    super.onRender(parent, index);
    setLayout(new FlowLayout(10));

    List<ColumnConfig> columns = new ArrayList<ColumnConfig>();
    columns.add(new ColumnConfig("Sender", "Sender", 100));
    columns.add(new ColumnConfig("Email", "Email", 165));
    columns.add(new ColumnConfig("Phone", "Phone", 100));
    columns.add(new ColumnConfig("State", "State", 50));
    columns.add(new ColumnConfig("Zip", "Zip Code", 65));

    // create the column model
    ColumnModel cm = new ColumnModel(columns);

    // defines the xml structure
    ModelType type = new ModelType();
    type.setRoot("records");
    type.addField("Sender", "name");
    type.addField("Email", "email");
    type.addField("Phone", "phone");
    type.addField("State", "state");
    type.addField("Zip", "zip");

    //Determine if Explorer or Example for JSON path
    String path = GWT.getHostPageBaseURL() + (Examples.isExplorer() ? "" : "../../") + "data/data.json";

    // use a http proxy to get the data
    RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, path);
    HttpProxy<String> proxy = new HttpProxy<String>(builder);

    // need a loader, proxy, and reader
    JsonLoadResultReader<ListLoadResult<ModelData>> reader = new JsonLoadResultReader<ListLoadResult<ModelData>>(
            type);//w ww  .j a v  a 2  s. co m

    final BaseListLoader<ListLoadResult<ModelData>> loader = new BaseListLoader<ListLoadResult<ModelData>>(
            proxy, reader);

    ListStore<ModelData> store = new ListStore<ModelData>(loader);
    final Grid<ModelData> grid = new Grid<ModelData>(store, cm);
    grid.setBorders(true);
    grid.setLoadMask(true);
    grid.getView().setEmptyText("Please hit the load button.");
    grid.setAutoExpandColumn("Sender");

    ContentPanel panel = new ContentPanel();
    panel.setFrame(true);
    panel.setCollapsible(true);
    panel.setAnimCollapse(false);
    panel.setButtonAlign(HorizontalAlignment.CENTER);
    panel.setIcon(Resources.ICONS.table());
    panel.setHeading("JSON Table Demo");
    panel.setLayout(new FitLayout());
    panel.add(grid);
    panel.setSize(575, 350);

    // add buttons
    Button load = new Button("Load JSON", new SelectionListener<ButtonEvent>() {
        public void componentSelected(ButtonEvent ce) {
            loader.load();
        }
    });

    panel.addButton(load);
    grid.getAriaSupport().setLabelledBy(panel.getHeader().getId() + "-label");
    add(panel);

}

From source file:com.extjs.gxt.samples.client.examples.grid.XmlGridExample.java

License:Open Source License

@Override
protected void onRender(Element parent, int index) {
    super.onRender(parent, index);
    setLayout(new FlowLayout(10));

    List<ColumnConfig> columns = new ArrayList<ColumnConfig>();
    columns.add(new ColumnConfig("Sender", "Sender", 100));
    columns.add(new ColumnConfig("Email", "Email", 165));
    columns.add(new ColumnConfig("Phone", "Phone", 100));
    columns.add(new ColumnConfig("State", "State", 50));
    columns.add(new ColumnConfig("Zip", "Zip Code", 65));

    // create the column model
    ColumnModel cm = new ColumnModel(columns);

    // defines the xml structure
    ModelType type = new ModelType();
    type.setRoot("records");
    type.setRecordName("record");
    type.addField("Sender", "Name");
    type.addField("Email");
    type.addField("Phone");
    type.addField("State");
    type.addField("Zip");

    // Determine if Explorer or Example for XML path
    String path = GWT.getHostPageBaseURL() + (Examples.isExplorer() ? "" : "../../") + "data/data.xml";

    // use a http proxy to get the data
    RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, path);
    HttpProxy<String> proxy = new HttpProxy<String>(builder);

    // need a loader, proxy, and reader
    XmlLoadResultReader<ListLoadResult<ModelData>> reader = new XmlLoadResultReader<ListLoadResult<ModelData>>(
            type);/* www  . j  ava  2 s.  co  m*/

    final BaseListLoader<ListLoadResult<ModelData>> loader = new BaseListLoader<ListLoadResult<ModelData>>(
            proxy, reader);

    ListStore<ModelData> store = new ListStore<ModelData>(loader);
    final Grid<ModelData> grid = new Grid<ModelData>(store, cm);
    grid.setBorders(true);
    grid.setLoadMask(true);
    grid.getView().setEmptyText("Please hit the load button.");
    grid.setAutoExpandColumn("Sender");

    ContentPanel panel = new ContentPanel();
    panel.setFrame(true);
    panel.setCollapsible(true);
    panel.setAnimCollapse(false);
    panel.setButtonAlign(HorizontalAlignment.CENTER);
    panel.setIcon(Resources.ICONS.table());
    panel.setHeading("XML Table Demo");
    panel.setLayout(new FitLayout());
    panel.add(grid);
    panel.setSize(575, 350);

    // add buttons
    Button load = new Button("Load XML", new SelectionListener<ButtonEvent>() {
        public void componentSelected(ButtonEvent ce) {
            loader.load();
        }
    });

    panel.addButton(load);

    add(panel);

}

From source file:com.extjs.gxt.samples.client.examples.tabs.BasicTabExample.java

License:Open Source License

@Override
protected void onRender(Element parent, int pos) {
    super.onRender(parent, pos);
    VerticalPanel vp = new VerticalPanel();
    vp.setSpacing(10);/*w  ww .ja v  a2 s.  c  o m*/

    String txt = TestData.DUMMY_TEXT_SHORT;

    TabPanel folder = new TabPanel();
    folder.setWidth(450);
    folder.setAutoHeight(true);

    TabItem shortText = new TabItem("Short Text");
    shortText.addStyleName("pad-text");
    shortText.addText(txt);
    folder.add(shortText);

    TabItem longText = new TabItem("Long Text");
    longText.addStyleName("pad-text");
    longText.addText(txt + "<br>" + txt);
    folder.add(longText);

    TabPanel panel = new TabPanel();
    panel.setPlain(true);
    panel.setSize(450, 250);

    TabItem normal = new TabItem("Normal");
    normal.addStyleName("pad-text");
    normal.addText("Just a plain old tab");
    panel.add(normal);

    TabItem iconTab = new TabItem("Icon Tab");
    iconTab.setIcon(Resources.ICONS.table());
    iconTab.addStyleName("pad-text");
    iconTab.addText("Just a plain old tab with an icon");
    panel.add(iconTab);

    TabItem ajax1 = new TabItem("Ajax Tab");
    ajax1.setScrollMode(Scroll.AUTO);
    ajax1.addStyleName("pad-text");
    ajax1.setAutoLoad(new RequestBuilder(RequestBuilder.GET, GWT.getHostPageBaseURL() + "data/ajax1.html"));
    panel.add(ajax1);

    TabItem eventTab = new TabItem("Event Tab");
    eventTab.addListener(Events.Select, new Listener<ComponentEvent>() {
        public void handleEvent(ComponentEvent be) {
            Window.alert("Event Tab Was Selected");
        }
    });
    eventTab.addStyleName("pad-text");
    eventTab.addText("I am tab 4's content. I also have an event listener attached.");
    panel.add(eventTab);

    TabItem disabled = new TabItem("Disabled");
    disabled.setEnabled(false);
    panel.add(disabled);

    vp.add(folder);
    vp.add(panel);
    add(vp);
}

From source file:com.extjs.gxt.samples.client.examples.treepanel.AsyncXmlTreePanelExample.java

License:Open Source License

@Override
protected void onRender(Element parent, int index) {
    super.onRender(parent, index);

    setLayout(new FlowLayout(10));

    RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, GWT.getModuleBaseURL() + "xmltreeloader");
    HttpProxy<ListLoadResult<ModelData>> proxy = new HttpProxy<ListLoadResult<ModelData>>(builder);

    ModelType type = new ModelType();
    type.setRecordName("item");
    type.setRoot("items");
    type.addField("id", "@id");
    type.addField("name", "@name");
    type.addField("folder", "@folder");

    XmlReader<List<ModelData>> reader = new XmlReader<List<ModelData>>(type);

    TreeLoader<ModelData> loader = new BaseTreeLoader<ModelData>(proxy, reader) {
        @Override// w  w  w  .j a v a2s.c  om
        public boolean hasChildren(ModelData parent) {
            return "true".equals(parent.get("folder"));
        }

        @Override
        protected Object prepareLoadConfig(Object config) {
            // by default the load config will be the parent model
            // http proxy will set all properties of model into request
            // parameters, so the model name and id will be passed to server
            return super.prepareLoadConfig(config);
        }
    };

    TreeStore<ModelData> store = new TreeStore<ModelData>(loader);

    final TreePanel<ModelData> tree = new TreePanel<ModelData>(store);
    tree.setDisplayProperty("name");
    tree.getStyle().setLeafIcon(IconHelper.createStyle("icon-music"));
    tree.setWidth(315);

    loader.load();

    ButtonBar buttonBar = new ButtonBar();

    buttonBar.add(new Button("Expand All", new SelectionListener<ButtonEvent>() {
        public void componentSelected(ButtonEvent ce) {
            tree.expandAll();
        }
    }));
    buttonBar.add(new Button("Collapse All", new SelectionListener<ButtonEvent>() {
        public void componentSelected(ButtonEvent ce) {
            tree.collapseAll();
        }
    }));

    addText("<div style='font-size: 12px;padding-bottom: 8px'>TreePanel which loads its children on demand using a remote service which returns xml.</div>");
    add(buttonBar, new FlowData(10));
    add(tree);
}

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  .ja  v  a 2 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  .j a va  2  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());
    }

}

From source file:com.fullmetalgalaxy.client.widget.HTMLInclude.java

License:Open Source License

public HTMLInclude(final String url) {
    super();//from w  ww.  j  ava 2 s  .  com
    final HTMLInclude widget = this;
    try {
        new RequestBuilder(RequestBuilder.GET, url).sendRequest("", new RequestCallback() {
            @Override
            public void onError(Request request, Throwable exception) {
                GWT.log("HTMLInclude: error fetching " + url, exception);
            }

            @Override
            public void onResponseReceived(Request request, Response response) {
                if (response.getStatusCode() == 200) {
                    widget.setHTML(response.getText());
                } else {
                    GWT.log("HTMLInclude: bad code when fetching " + url + "[" + response.getStatusCode() + "]",
                            null);
                }
            }
        });
    } catch (RequestException e) {
        GWT.log("HTMLInclude: exception thrown fetching " + url, e);
    }
}

From source file:com.github.gwtbootstrap.showcase.client.AsyncCodeBlock.java

License:Apache License

public void setUrl(String url) {
    ProgressBar progressBar = new ProgressBar(ProgressBarBase.Style.ANIMATED);
    progressBar.setPercent(100);/*  ww  w .ja v  a2  s .  c o m*/
    codePanel.setWidget(progressBar);

    RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);

    builder.setCallback(new RequestCallback() {

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

            String text = response.getText();

            CodeBlock block = new CodeBlock(text);

            block.setLinenums(true);

            codePanel.setWidget(block);
        }

        @Override
        public void onError(Request request, Throwable exception) {

        }
    });
}

From source file:com.goodow.wind.channel.rpc.impl.AjaxRpc.java

License:Apache License

@Override
public RpcHandle makeRequest(Method method, String serviceName, MapFromStringToString params,
        final Rpc.RpcCallback rpcCallback) {

    final int requestId = nextRequestId;
    nextRequestId++;//from  w  w w.  ja  v a  2 s  .  co  m

    // See the javadoc for HARD_RELOAD.
    if (connectionState == ConnectionState.HARD_RELOAD) {
        return new Handle(requestId);
    }

    final String requestData;
    final RequestBuilder.Method httpMethod;

    StringBuilder urlBuilder = new StringBuilder(rpcRoot + "/" + serviceName + "?");
    // NOTE: For some reason, IE6 seems not to perform some requests
    // it's already made, resulting in... no data. Inserting some
    // unique value into the request seems to fix that.
    if (!Browser.getInfo().isWebKit() && !Browser.getInfo().isGecko()) {
        urlBuilder.append("_no_cache=" + requestId + "" + Duration.currentTimeMillis() + "&");
    }

    if (method == Method.GET) {
        httpMethod = RequestBuilder.GET;
        addParams(urlBuilder, params);
        requestData = "";
    } else {
        httpMethod = RequestBuilder.POST;
        requestData = addParams(new StringBuilder(), params).toString();
    }

    final String url = urlBuilder.toString();

    RequestBuilder r = new RequestBuilder(httpMethod, url);
    if (method == Method.POST) {
        r.setHeader("Content-Type", "application/x-www-form-urlencoded");
        r.setHeader("X-Same-Domain", "true");
    }

    log.log(Level.INFO, "RPC Request, id=" + requestId + " method=" + httpMethod + " urlSize=" + url.length()
            + " bodySize=" + requestData.length());

    class RpcRequestCallback implements RequestCallback {
        @Override
        public void onError(Request request, Throwable exception) {
            if (!handles.hasKey(requestId)) {
                log.log(Level.INFO, "RPC FailureDrop, id=" + requestId + " " + exception.getMessage());
                return;
            }
            removeHandle();
            error(exception);
        }

        @Override
        public void onResponseReceived(Request request, Response response) {
            RpcHandle handle = handles.get(requestId);
            if (handle == null) {
                // It's been dropped
                log.log(Level.INFO, "RPC SuccessDrop, id=" + requestId);
                return;
            }

            // Clear it now, before callbacks
            removeHandle();

            int statusCode = response.getStatusCode();
            String data = response.getText();

            Result result;
            if (statusCode < 100) {
                result = Result.RETRYABLE_FAILURE;
                maybeSetConnectionState(ConnectionState.OFFLINE);
            } else if (statusCode == 200) {
                result = Result.OK;
                maybeSetConnectionState(ConnectionState.CONNECTED);
                consecutiveFailures = 0;
            } else if (statusCode >= 500) {
                result = Result.RETRYABLE_FAILURE;
                consecutiveFailures++;
                if (consecutiveFailures > MAX_CONSECUTIVE_FAILURES) {
                    maybeSetConnectionState(ConnectionState.OFFLINE);
                } else {
                    maybeSetConnectionState(ConnectionState.CONNECTED);
                }
            } else {
                result = Result.PERMANENT_FAILURE;
                maybeSetConnectionState(ConnectionState.SOFT_RELOAD);
            }

            switch (result) {
            case OK:
                log.log(Level.INFO, "RPC Success, id=" + requestId);
                try {
                    rpcCallback.onSuccess(data);
                } catch (JsonException e) {
                    // Semi-HACK: Treat parse errors as login problems
                    // due to loading a login or authorization page. (It's unlikely
                    // we'd otherwise get a parse error from a 200 OK result).
                    // The simpler solution of detecting redirects is not possible
                    // with XmlHttpRequest, the web is unfortunately broken.

                    // TODO Possible alternatives:
                    // either change our server side to not require
                    // login through web.xml but to check if UserService says currentUser==null (or
                    // whatever it does if not logged in) and return a well-defined "not logged in"
                    // response instead, or to prefix all responses from the server with a fixed string
                    // (like we do with "OK" elsewhere) and assume not logged in if that prefix is
                    // missing. We could strip off that prefix here and make it transparent to the
                    // callbacks.

                    maybeSetConnectionState(ConnectionState.LOGGED_OUT);

                    error(new Exception("RPC failed due to message exception, treating as auth failure"
                            + ", status code: " + statusCode + ", data: " + data));
                }
                break;
            case RETRYABLE_FAILURE:
                error(new Exception("RPC failed, status code: " + statusCode + ", data: " + data));
                break;
            case PERMANENT_FAILURE:
                fatal(new Exception("RPC bad request, status code: " + statusCode + ", data: " + data));
                break;
            default:
                throw new AssertionError("Unknown result " + result);
            }
        }

        private void error(Throwable e) {
            log.log(Level.WARNING,
                    "RPC Failure, id=" + requestId + " " + e.getMessage() + " Request url:" + url, e);
            rpcCallback.onConnectionError(e);
        }

        private void fatal(Throwable e) {
            log.log(Level.WARNING,
                    "RPC Bad Request, id=" + requestId + " " + e.getMessage() + " Request url:" + url, e);
            rpcCallback.onFatalError(e);
        }

        private void removeHandle() {
            handles.remove(requestId);
        }
    }

    RpcRequestCallback innerCallback = new RpcRequestCallback();

    try {
        // TODO: store the Request object somewhere so we can e.g. cancel it
        r.sendRequest(requestData, innerCallback);
        Handle handle = new Handle(requestId);
        handles.put(handle.getId(), handle);
        return handle;
    } catch (RequestException e) {
        // TODO: Decide if this should be a badRequest.
        innerCallback.error(e);
        return null;
    }
}