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:org.geomajas.gwt2.plugin.wms.client.service.WmsServiceImpl.java

License:Open Source License

@Override
public void getCapabilities(String baseUrl, final WmsVersion version,
        final Callback<WmsGetCapabilitiesInfo, String> callback) {
    String url = getCapabilitiesUrl(baseUrl, version);
    RequestBuilder builder = requestBuilderFactory.create(RequestBuilder.GET, url);
    builder.setHeader("Cache-Control", "no-cache");
    builder.setHeader("Pragma", "no-cache");
    try {//  ww  w  .j a va  2  s  .c om
        builder.sendRequest(null, new RequestCallback() {

            public void onError(Request request, Throwable e) {
                callback.onFailure(e.getMessage());
            }

            public void onResponseReceived(Request request, Response response) {
                if (200 == response.getStatusCode()) {
                    try {
                        Document messageDom = XMLParser.parse(response.getText());
                        WmsGetCapabilitiesInfo capabilities;
                        switch (version) {
                        case V1_1_1:
                            capabilities = new WmsGetCapabilitiesInfo111(messageDom.getDocumentElement());
                            break;
                        case V1_3_0:
                            capabilities = new WmsGetCapabilitiesInfo130(messageDom.getDocumentElement());
                            break;
                        default:
                            callback.onFailure("Unsupported version");
                            return;
                        }
                        callback.onSuccess(capabilities);
                    } catch (Throwable t) {
                        t.printStackTrace();
                        callback.onFailure(t.getMessage());
                    }
                } else {
                    callback.onFailure(response.getText());
                }
            }
        });
    } catch (RequestException e) {
        // Couldn't connect to server
        callback.onFailure(e.getMessage());
    }
}

From source file:org.geomajas.gwt2.plugin.wms.client.service.WmsServiceImpl.java

License:Open Source License

@Override
public void describeLayer(String baseUrl, String layers, final WmsVersion version,
        final Callback<WmsDescribeLayerInfo, String> callback) {
    // looks like geoserver fails for versions other than 1.1.1 ?
    // force 1.1.1 until more info on https://jira.codehaus.org/browse/GEOS-5918
    final WmsVersion localVersion = WmsVersion.V1_1_1;
    String url = describeLayerUrl(baseUrl, layers, localVersion);
    RequestBuilder builder = requestBuilderFactory.create(RequestBuilder.GET, url);
    try {/*  ww w  .j  av  a  2 s  .  c  o m*/
        builder.sendRequest(null, new RequestCallback() {

            public void onError(Request request, Throwable e) {
                callback.onFailure(e.getMessage());
            }

            public void onResponseReceived(Request request, Response response) {
                if (200 == response.getStatusCode()) {
                    try {
                        Document messageDom = XMLParser.parse(response.getText());
                        WmsDescribeLayerInfo describeLayerInfo = null;
                        switch (localVersion) {
                        case V1_1_1:
                            describeLayerInfo = new WmsDescribeLayerInfo111(messageDom.getDocumentElement());
                            break;
                        case V1_3_0:
                        default:
                            callback.onFailure("Unsupported version");
                            return;
                        }
                        callback.onSuccess(describeLayerInfo);
                    } catch (Throwable t) {
                        callback.onFailure(t.getMessage());
                    }
                } else {
                    callback.onFailure(response.getText());
                }
            }
        });
    } catch (RequestException e) {
        // Couldn't connect to server
        callback.onFailure(e.getMessage());
    }
}

From source file:org.geomajas.gwt2.plugin.wms.client.service.WmsServiceImpl.java

License:Open Source License

@Override
public void getFeatureInfo(ViewPort viewPort, final WmsLayer wmsLayer, Coordinate location, String format,
        final Callback<List<Feature>, String> callback) {
    final String url = getFeatureInfoUrl(viewPort, wmsLayer, location, format.toString());

    // we can only handle json for now
    if (!GetFeatureInfoFormat.JSON.toString().equals(format)) {
        callback.onFailure("Client does not support " + format + " format");
    }/*w w  w .  java 2s.  c o  m*/
    RequestBuilder builder = requestBuilderFactory.create(RequestBuilder.GET, url);
    try {
        builder.sendRequest(null, new RequestCallback() {

            public void onError(Request request, Throwable e) {
                callback.onFailure(e.getMessage());
            }

            public void onResponseReceived(Request request, Response response) {
                if (200 == response.getStatusCode()) {
                    JSONValue jsonValue = JsonService.parse(response.getText());
                    FeatureCollection featureCollection;
                    if (jsonValue.isObject() != null) {
                        if (wmsLayer instanceof FeaturesSupported) {
                            FeaturesSupported featuresSupported = (FeaturesSupported) wmsLayer;
                            featureCollection = jsonFeatureFactory.createCollection(jsonValue.isObject(),
                                    featuresSupported);
                        } else {
                            featureCollection = jsonFeatureFactory.createCollection(jsonValue.isObject(), null);
                        }
                        callback.onSuccess(featureCollection.getFeatures());
                    } else if (jsonValue.isNull() != null) {
                        callback.onFailure("Response was empty");
                    }
                } else {
                    callback.onFailure(response.getText());
                }
            }
        });
    } catch (RequestException e) {
        // Couldn't connect to server
        callback.onFailure(e.getMessage());
    }
}

From source file:org.geomajas.gwt2.plugin.wms.example.client.sample.WmsFeatureInfoPanel.java

License:Open Source License

public Widget asWidget() {
    Widget layout = UI_BINDER.createAndBindUi(this);

    // Create the mapPresenter and add an InitializationHandler:
    MapConfiguration configuration = new MapConfigurationImpl();
    configuration.setCrs(EPSG, CrsType.DEGREES);
    configuration.setMaxBounds(new Bbox(-180, -90, 360, 180));
    configuration.setHintValue(MapConfiguration.INITIAL_BOUNDS, ExampleBase.BBOX_LATLON_USA);
    configuration.setMinimumResolution(2.1457672119140625E-5);
    mapPresenter = GeomajasImpl.getInstance().createMapPresenter(configuration, 480, 480);
    featureContainer = mapPresenter.getContainerManager().addWorldContainer();

    controller = new WmsGetFeatureInfoController();
    controller.setFormat(getRequestFormat().toString());
    controller.setHtmlCallback(new Callback<String, String>() {

        @Override/* w  ww  .j a  v  a 2 s.co  m*/
        public void onSuccess(String url) {
            RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);
            try {
                builder.sendRequest(null, new RequestCallback() {

                    @Override
                    public void onResponseReceived(Request request, Response response) {
                        featureContainer.clear();
                        HTML html = new HTML(response.getText());
                        featureInfoParent.setWidget(html);
                    }

                    @Override
                    public void onError(Request request, Throwable exception) {
                        Window.alert("Something went wrong executing the WMS GetFeatureInfo request: "
                                + exception.getMessage());
                    }
                });
            } catch (RequestException e) {
                Window.alert(
                        "Something went wrong executing the WMS GetFeatureInfo request: " + e.getMessage());
            }
        }

        @Override
        public void onFailure(String reason) {
            Window.alert("Something went wrong executing the WMS GetFeatureInfo request: " + reason);
        }
    });
    controller.setFeatureCallback(new Callback<List<Feature>, String>() {

        @Override
        public void onFailure(String reason) {
            Window.alert("Something went wrong executing the WMS GetFeatureInfo request: " + reason);
        }

        @Override
        public void onSuccess(List<Feature> result) {
            featureContainer.clear();
            for (Feature feature : result) {
                VectorObject shape = GeomajasImpl.getInstance().getGfxUtil().toShape(feature.getGeometry());
                if (shape != null) {
                    GeomajasImpl.getInstance().getGfxUtil().applyFill(shape, "#CC0000", 0.7);
                    featureContainer.add(shape);
                }
            }
            HTML html = new HTML("The features are drawn onto the map...");
            featureInfoParent.setWidget(html);
        }
    });
    mapPresenter.addMapListener(controller);
    formatBox.addChangeHandler(new ChangeHandler() {

        @Override
        public void onChange(ChangeEvent event) {
            controller.setFormat(getRequestFormat().toString());
        }
    });

    // Define the whole layout:
    MapLayoutPanel mapLayoutPanel = new MapLayoutPanel();
    mapLayoutPanel.setPresenter(mapPresenter);
    mapPanel.setWidget(mapLayoutPanel);

    initialize();

    return layout;
}

From source file:org.geomajas.plugin.wms.client.service.WmsServiceImpl.java

License:Open Source License

@Override
public void getCapabilities(String baseUrl, final WmsVersion version,
        final Callback<WmsGetCapabilitiesInfo, String> callback) {
    String url = getCapabilitiesUrl(baseUrl, version);
    RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);
    builder.setHeader("Cache-Control", "no-cache");
    builder.setHeader("Pragma", "no-cache");
    try {//from   w  w  w  . j av  a  2s  . c om
        builder.sendRequest(null, new RequestCallback() {

            public void onError(Request request, Throwable e) {
                callback.onFailure(e.getMessage());
            }

            public void onResponseReceived(Request request, Response response) {
                if (200 == response.getStatusCode()) {
                    Document messageDom = XMLParser.parse(response.getText());
                    WmsGetCapabilitiesInfo capabilities;
                    switch (version) {
                    case V1_1_1:
                        capabilities = new WmsGetCapabilitiesInfo111(messageDom.getDocumentElement());
                        break;
                    case V1_3_0:
                        capabilities = new WmsGetCapabilitiesInfo130(messageDom.getDocumentElement());
                        break;
                    default:
                        callback.onFailure("Unsupported version");
                        return;
                    }
                    callback.onSuccess(capabilities);
                } else {
                    callback.onFailure(response.getText());
                }
            }
        });
    } catch (RequestException e) {
        // Couldn't connect to server
        callback.onFailure(e.getMessage());
    }
}

From source file:org.geomajas.plugin.wmsclient.client.service.WmsServiceImpl.java

License:Open Source License

@Override
public void getCapabilities(String baseUrl, final WmsVersion version,
        final Callback<WmsGetCapabilitiesInfo, String> callback) {
    String url = getCapabilitiesUrl(baseUrl, version);
    RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);
    try {/*from  w w  w  . j  ava  2 s  . c  om*/
        builder.sendRequest(null, new RequestCallback() {

            public void onError(Request request, Throwable e) {
                callback.onFailure(e.getMessage());
            }

            public void onResponseReceived(Request request, Response response) {
                if (200 == response.getStatusCode()) {
                    Document messageDom = XMLParser.parse(response.getText());
                    WmsGetCapabilitiesInfo capabilities;
                    switch (version) {
                    case V1_1_1:
                        capabilities = new WmsGetCapabilitiesInfo111(messageDom.getDocumentElement());
                        break;
                    case V1_3_0:
                        capabilities = new WmsGetCapabilitiesInfo130(messageDom.getDocumentElement());
                        break;
                    default:
                        callback.onFailure("Unsupported version");
                        return;
                    }
                    callback.onSuccess(capabilities);
                } else {
                    callback.onFailure(response.getText());
                }
            }
        });
    } catch (RequestException e) {
        // Couldn't connect to server
        callback.onFailure(e.getMessage());
    }
}

From source file:org.geosdi.geoplatform.gui.client.form.GPPrintWidget.java

License:Open Source License

@Override
public void execute() {
    if (formPanel.isValid()) {
        layerList = buildLayerList();//from ww  w .j av  a  2s  .  c om
        if (layerList.isEmpty()) {
            GeoPlatformMessage.alertMessage(INSTANCE.GPPrintWidget_warningMessageLayersEmptyListText(),
                    INSTANCE.GPPrintWidget_warningMessageLayersEmptyListText());
            return;
        }

        logger.log(Level.FINEST, "Execute ......");
        // Center on correct ViewPort
        LonLat center = printExtent.getDataExtent().getCenterLonLat();
        if (GPApplicationMap.getInstance().getApplicationMap().getMap().getProjection()
                .equals(GPCoordinateReferenceSystem.WGS_84.getCode())) {
            center.transform(GPCoordinateReferenceSystem.WGS_84.getCode(),
                    GPCoordinateReferenceSystem.GOOGLE_MERCATOR.getCode());
        }

        String specJson = "";

        specJson = "{\"layout\":\"" + comboTemplate.getValue().getTemplate() + "\""
                + ",\"srs\":\"EPSG:3857\",\"units\": \"m\",\"geodetic\":true,\"outputFilename\":\"gp-map\", \"outputFormat\":\"pdf\",";

        //            String layers = "{\"title\":\"" + title.getValue() + "\",\"pages\":[{\"center\":["
        //                    + center.lon() + ","
        //                    + center.lat()
        //                    + "],\"scale\":" + getCurrentScale()
        //                    + ",\"rotation\":0,\"mapTitle\":\"" + mapTitle.getValue()
        //                    + "\",\"comment\":\"" + comments.getValue() + "\"}],\"layers\":[";
        specJson = specJson.concat(buildBaseLayerJson());

        String pagesJson = "\"pages\": [" + "{" + "\"center\": [" + center.lon() + "," + center.lat() + "],"
                + "\"scale\": " + getCurrentScale() + "," + "\"dpi\": " + comboDPI.getValue().getDpi() + ","
                + "\"mapTitle\": \"" + mapTitle.getValue() + "\"," + "\"title\": \"" + title.getValue() + "\","
                + "\"comment\": \"" + comments.getValue() + "\"" + "}" + "],\n";

        String legendJson = "\"legends\": [";
        String legendLayers = buildLegendLayerJson();
        String legendEnd = "]}";

        specJson = specJson.concat(pagesJson + legendJson + legendLayers + legendEnd);

        String url = GWT.getHostPageBaseURL() + GWT.getModuleName() + "/pdf/create.json";

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

        String jsonData = "spec=" + specJson;

        builder.setHeader("Content-Type", "application/x-www-form-urlencoded");
        try {
            Info.display(INSTANCE.printText(), INSTANCE.GPPrintWidget_infoStartPringBodyText());
            logger.log(Level.INFO, jsonData);
            Request response = builder.sendRequest(jsonData, new RequestCallback() {

                @Override
                public void onError(Request request, Throwable exception) {
                    Window.alert(exception.getLocalizedMessage());
                }

                @Override
                public void onResponseReceived(Request request, Response response) {
                    Info.display(INSTANCE.printText(), INSTANCE.GPPrintWidget_infoFinishPrintBodyText());
                    String downloadURL = response.getText().substring(11,
                            response.getText().indexOf("printout") + 8);

                    Window.open(downloadURL, "_blank", "");

                }
            });
        } catch (RequestException ex) {
            Logger.getLogger(GPPrintWidget.class.getName()).log(Level.SEVERE, null, ex);
        }

        this.hide();
    }

}

From source file:org.gss_project.gss.web.client.rest.DeleteCommand.java

License:Open Source License

public DeleteCommand(String pathToDelete, boolean showLoading) {
    setShowLoadingIndicator(showLoading);
    if (isShowLoadingIndicator())
        GSS.get().showLoadingIndicator("Deleting ", pathToDelete);
    final String path;
    if (pathToDelete.endsWith("/"))
        path = pathToDelete;//w w  w .  j  av  a 2s .c o m
    else
        path = pathToDelete + "/";
    RequestBuilder builder = new RequestBuilder(RequestBuilder.DELETE, path);

    try {
        handleHeaders(builder, path);
        builder.sendRequest("", new RequestCallback() {

            @Override
            public void onError(Request arg0, Throwable arg1) {
                complete = true;
                DeleteCommand.this.onError(arg1);
            }

            @Override
            public void onResponseReceived(Request arg0, Response arg1) {
                complete = true;
                if (arg1.getStatusCode() == 204)
                    onComplete();
                else if (arg1.getStatusCode() == 403)
                    sessionExpired();
                else if (arg1.getStatusCode() == 405)
                    DeleteCommand.this.onError(new InsufficientPermissionsException(
                            "You don't have permissions to delete this resource"));
                else
                    DeleteCommand.this.onError(new RestException(path, arg1.getStatusCode(),
                            arg1.getStatusText(), arg1.getText()));
            }

        });
    } catch (Exception ex) {
        complete = true;
        onError(ex);
    }
}

From source file:org.gss_project.gss.web.client.rest.GetCommand.java

License:Open Source License

private void sendRequest() {
    if (requestSent)
        return;/* w  w w. j  a  v a  2  s . c om*/
    requestSent = true;
    RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, path);
    if (cached != null && cached.getLastModifiedSince() != null)
        builder.setHeader("If-Modified-Since", cached.getLastModifiedSince());
    try {
        if (username == null)
            handleHeaders(builder, path);
        else
            handleHeaders(username, builder, path);
        builder.sendRequest("", new RestCallback(path) {

            @Override
            public Object deserialize(Response response) {
                return deserializeResponse(path, response);
            }

            @Override
            public void handleError(Request request, Throwable _exception) {
                result = null;
                complete = true;
                exception = _exception;
                if (_exception instanceof RestException)
                    if (((RestException) _exception).getHttpStatusCode() == 304 && cached != null) {
                        GWT.log("Using cache:" + cached.getUri(), null);
                        handleSuccess(cached);
                        return;
                    }

            }

            @Override
            public void handleSuccess(Object object) {
                result = (T) object;
                complete = true;
            }

        });
    } catch (Exception ex) {
        complete = true;
        exception = ex;
    }
}

From source file:org.gss_project.gss.web.client.rest.HeadCommand.java

License:Open Source License

private void sendRequest() {
    if (requestSent)
        return;/*from www  .  jav a 2  s  .c o  m*/
    requestSent = true;
    RequestBuilder builder = new RequestBuilder(RequestBuilder.HEAD, path);
    if (cached != null && cached.getLastModifiedSince() != null) {
        GWT.log("ADDING IF MODIFIED HEADERS", null);
        builder.setHeader("If-Modified-Since", cached.getLastModifiedSince());
    }
    try {
        handleHeaders(builder, path);
        builder.sendRequest("", new RestCallback(path) {

            @Override
            public Object deserialize(Response response) {
                return deserializeResponse(path, response);
            }

            @Override
            public void handleError(Request request, Throwable exception) {
                if (exception instanceof RestException)
                    if (((RestException) exception).getHttpStatusCode() == 304 && cached != null) {
                        GWT.log("Using cache:" + cached.getUri(), null);
                        handleSuccess(cached);
                        return;
                    }
                complete = true;
                HeadCommand.this.onError(exception);
            }

            @Override
            public void handleSuccess(Object object) {
                result = (T) object;
                complete = true;
            }

        });
    } catch (Exception ex) {
        complete = true;
        onError(ex);
    }
}