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

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

Introduction

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

Prototype

protected RequestBuilder(String httpMethod, String url) 

Source Link

Document

Creates a builder using the parameters values for configuration.

Usage

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  . ja v a  2s . c o m*/
        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.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);
            }// www .ja va2s.  c om

            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// www.j a v a 2s.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 ww  w. j av a  2  s  .com
        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.fredhat.gwt.xmlrpc.client.XmlRpcClient.java

License:Open Source License

/**
 * Executes an asynchronous XMLRPC call to the server with a specified username
 * and password.  If the execution was successful, the callback's {@link AsyncCallback#onSuccess(Object)} 
 * method will be invoked with the return value as the argument.  If the 
 * execution failed for any reason, the callback's {@link AsyncCallback#onFailure(Throwable)} method will 
 * be invoked with an instance of {@link XmlRpcException} instance as it's argument.
 * @param username the username for authentication
 * @param password the password for authentication
 * @param methodName the name of the XMLRPC method
 * @param params the parameters for the XMLRPC method
 * @param callback the logic implementation for handling the XMLRPC responses.
 * @deprecated As of XMLRPC-GWT v1.1,// w ww .  j  av  a 2s  . c om
 * build an {@link XmlRpcRequest} then call {@link XmlRpcRequest#execute()}
 */
@SuppressWarnings("unchecked")
@Deprecated
public void execute(String username, String password, String methodName, Object[] params,
        final AsyncCallback callback) {
    if (methodName == null || methodName.equals("")) {
        callback.onFailure(new XmlRpcException("The method name parameter cannot be null"));
        return;
    }
    if (params == null)
        params = new Object[0];

    Document request = buildRequest(methodName, params);
    if (debugMessages)
        System.out.println("** Request **\n" + request + "\n*************");

    RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.POST, serverURL);
    requestBuilder.setHeader("Content-Type", "text/xml");
    requestBuilder.setTimeoutMillis(timeout);
    if (username != null)
        requestBuilder.setUser(username);
    if (password != null)
        requestBuilder.setPassword(password);

    try {
        requestBuilder.sendRequest(request.toString(), new RequestCallback() {
            public void onResponseReceived(Request req, Response res) {
                if (res.getStatusCode() != 200) {
                    callback.onFailure(new XmlRpcException("Server returned " + "response code "
                            + res.getStatusCode() + " - " + res.getStatusText()));
                    return;
                }
                Object responseObj = buildResponse(res.getText());
                if (responseObj instanceof XmlRpcException)
                    callback.onFailure((XmlRpcException) responseObj);
                else
                    callback.onSuccess(responseObj);
            }

            public void onError(Request req, Throwable t) {
                callback.onFailure(t);
            }
        });
    } catch (RequestException e) {
        callback.onFailure(new XmlRpcException("Couldn't make server request", e));
    }
}

From source file:com.fredhat.gwt.xmlrpc.client.XmlRpcRequest.java

License:Open Source License

/**
 * Invokes the XML-RPC method asynchronously.  All success and failure logic will
 * be in your {@link AsyncCallback} that you defined in the constructor.
 */// www . j a va2s.co  m
public void execute() {
    if (methodName == null || methodName.equals("")) {
        callback.onFailure(new XmlRpcException("The method name parameter cannot be null"));
        return;
    }

    if (params == null)
        params = new Object[] {};

    Document request = buildRequest(methodName, params);
    if (client.getDebugMode())
        System.out.println("** Request **\n" + request + "\n*************");

    RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.POST, client.getServerURL());
    requestBuilder.setHeader("Content-Type", "text/xml");

    //Ak existuje cookie posli ju v hlavicke
    if (Cookies.getCookie("sessionID") != null) {
        requestBuilder.setHeader("sessionID", Cookies.getCookie("sessionID"));
    }

    requestBuilder.setTimeoutMillis(client.getTimeoutMillis());
    if (client.getUsername() != null)
        requestBuilder.setUser(client.getUsername());
    if (client.getPassword() != null)
        requestBuilder.setPassword(client.getPassword());

    try {

        requestBuilder.sendRequest(request.toString(), new RequestCallback() {
            public void onResponseReceived(Request req, Response res) {
                if (res.getStatusCode() != 200) {
                    callback.onFailure(new XmlRpcException("Server returned " + "response code "
                            + res.getStatusCode() + " - " + res.getStatusText()));
                    return;
                }
                try {
                    T responseObj = buildResponse(res.getText());
                    callback.onSuccess(responseObj);

                } catch (XmlRpcException e) {
                    callback.onFailure(e);
                } catch (ClassCastException e) {
                    callback.onFailure(e);
                }
            }

            public void onError(Request req, Throwable t) {
                callback.onFailure(t);
            }
        });
    } catch (RequestException e) {
        callback.onFailure(new XmlRpcException("Couldn't make server request.  Are you violating the "
                + "Same Origin Policy?  Error: " + e.getMessage(), e));
    }
}

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

License:Open Source License

public HTMLInclude(final String url) {
    super();//from   w ww .ja v  a2  s.  c  om
    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);/*from  ww  w. j  ava  2  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.github.nmorel.gwtjackson.rest.api.RestRequestBuilder.java

License:Apache License

public Request send() {
    if (null == method) {
        throw new IllegalArgumentException("The method is required");
    }/* w w  w.  ja v  a  2s  .  c o  m*/
    if (null == url) {
        throw new IllegalArgumentException("The url is required");
    }

    String urlWithParams = url;
    if (null != pathParams && !pathParams.isEmpty()) {
        for (Entry<String, Object> pathParam : pathParams.entrySet()) {
            urlWithParams = urlWithParams.replace("{" + pathParam.getKey() + "}",
                    pathParam.getValue() == null ? "" : pathParam.getValue().toString());
        }
    }

    StringBuilder urlBuilder = new StringBuilder(applicationPath);
    if (!applicationPath.endsWith("/") && !urlWithParams.startsWith("/")) {
        urlBuilder.append('/');
    }
    urlBuilder.append(urlWithParams);

    if (null != queryParams && !queryParams.isEmpty()) {
        boolean first = true;
        for (Entry<String, List<Object>> params : queryParams.entrySet()) {
            String name = URL.encodeQueryString(params.getKey());
            if (null != params.getValue() && !params.getValue().isEmpty()) {
                for (Object param : params.getValue()) {
                    if (first) {
                        urlBuilder.append('?');
                        first = false;
                    } else {
                        urlBuilder.append('&');
                    }
                    urlBuilder.append(name);
                    if (null != param) {
                        urlBuilder.append('=');
                        urlBuilder.append(URL.encodeQueryString(param.toString()));
                    }
                }
            }
        }
    }

    RequestBuilder builder = new RequestBuilder(method, urlBuilder.toString());
    builder.setHeader("Content-Type", "application/json; charset=utf-8");
    builder.setHeader("Accept", "application/json");

    if (null != headers && !headers.isEmpty()) {
        for (Entry<String, String> header : headers.entrySet()) {
            builder.setHeader(header.getKey(), header.getValue());
        }
    }

    if (null != user) {
        builder.setUser(user);
    }

    if (null != password) {
        builder.setPassword(password);
    }

    if (null != includeCredentials) {
        builder.setIncludeCredentials(includeCredentials);
    }

    if (null != timeoutMillis) {
        builder.setTimeoutMillis(timeoutMillis);
    }

    if (null != body) {
        if (null != bodyConverter) {
            builder.setRequestData(bodyConverter.write(body));
        } else {
            builder.setRequestData(body.toString());
        }
    }

    builder.setCallback(new RestRequestCallback<R>(responseConverter, callback));

    try {
        return builder.send();
    } catch (RequestException e) {
        throw new RestException(e);
    }
}

From source file:com.github.tdesjardins.ol3.demo.client.example.WfsExample.java

License:Apache License

@Override
public void show(String exampleId) {

    // create a vector layer
    Vector vectorSource = new Vector();
    VectorLayerOptions vectorLayerOptions = new VectorLayerOptions();
    vectorLayerOptions.setSource(vectorSource);
    ol.layer.Vector wfsLayer = new ol.layer.Vector(vectorLayerOptions);

    // create a view
    View view = new View();

    Coordinate centerCoordinate = new Coordinate(-8908887.277395891, 5381918.072437216);
    view.setCenter(centerCoordinate);/* w  w w.j  a v a 2  s .  co  m*/
    view.setZoom(12);
    view.setMaxZoom(19);

    // create the map
    MapOptions mapOptions = OLFactory.createOptions();
    mapOptions.setTarget(exampleId);
    mapOptions.setView(view);

    Map map = new Map(mapOptions);

    map.addLayer(DemoUtils.createOsmLayer());
    map.addLayer(wfsLayer);

    Wfs wfs = new Wfs();
    WfsWriteFeatureOptions wfsWriteFeatureOptions = new WfsWriteFeatureOptions();

    String[] featureTypes = { "water_areas" };
    wfsWriteFeatureOptions.setSrsName(DemoConstants.EPSG_3857);
    wfsWriteFeatureOptions.setFeaturePrefix("osm");
    wfsWriteFeatureOptions.setFeatureNS("http://openstreemap.org");
    wfsWriteFeatureOptions.setFeatureTypes(featureTypes);

    // set a filter
    wfsWriteFeatureOptions.setFilter(new IsLike("name", "Mississippi*"));
    wfsWriteFeatureOptions.setOutputFormat("application/json");

    // create WFS-XML node
    Node wfsNode = wfs.writeGetFeature(wfsWriteFeatureOptions);

    RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.POST,
            "https://ahocevar.com/geoserver/wfs");
    requestBuilder.setRequestData(new XMLSerializer().serializeToString(wfsNode));
    requestBuilder.setCallback(new RequestCallback() {

        @Override
        public void onResponseReceived(com.google.gwt.http.client.Request request, Response response) {

            GeoJson geoJson = new GeoJson();
            Feature[] features = geoJson.readFeatures(response.getText());

            vectorSource.addFeatures(features);
            map.getView().fit(vectorSource.getExtent());
        }

        @Override
        public void onError(com.google.gwt.http.client.Request request, Throwable exception) {
            Window.alert(exception.getMessage());
        }

    });

    try {
        requestBuilder.send();
    } catch (RequestException e) {
        Window.alert(e.getMessage());
    }

}