List of usage examples for com.google.gwt.http.client RequestBuilder GET
Method GET
To view the source code for com.google.gwt.http.client RequestBuilder GET.
Click Source Link
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; } }