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.google.appinventor.client.wizards.TemplateUploadWizard.java

License:Open Source License

/**
 * Creates a new project from a Zip file and lists it in the ProjectView.
 *
 * @param projectName project name/*from   w  w w.  j  a v  a  2 s.  c  om*/
 * @param onSuccessCommand command to be executed after process creation
 *   succeeds (can be {@code null})
 */
public void createProjectFromExistingZip(final String projectName, final NewProjectCommand onSuccessCommand) {

    // Callback for updating the project explorer after the project is created on the back-end
    final Ode ode = Ode.getInstance();
    final OdeAsyncCallback<UserProject> callback = new OdeAsyncCallback<UserProject>(
            // failure message
            MESSAGES.createProjectError()) {
        @Override
        public void onSuccess(UserProject projectInfo) {
            // Update project explorer -- i.e., display in project view
            if (projectInfo == null) {

                Window.alert(
                        "This template has no aia file. Creating a new project with name = " + projectName);
                ode.getProjectService().newProject(YoungAndroidProjectNode.YOUNG_ANDROID_PROJECT_TYPE,
                        projectName, new NewYoungAndroidProjectParameters(projectName), this);
                return;
            }
            Project project = ode.getProjectManager().addProject(projectInfo);
            if (onSuccessCommand != null) {
                onSuccessCommand.execute(project);
            }
        }
    };

    // Use project RPC service to create the project on back end using
    String pathToZip = "";
    if (usingExternalTemplate) {
        String zipUrl = templateHostUrl + TEMPLATES_ROOT_DIRECTORY + projectName + "/" + projectName
                + PROJECT_ARCHIVE_ENCODED_EXTENSION;
        RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, zipUrl);
        try {
            Request response = builder.sendRequest(null, new RequestCallback() {
                @Override
                public void onError(Request request, Throwable exception) {
                    Window.alert("Unable to load Project Template Data");
                }

                @Override
                public void onResponseReceived(Request request, Response response) {
                    ode.getProjectService().newProjectFromExternalTemplate(projectName, response.getText(),
                            callback);
                }

            });
        } catch (RequestException e) {
            Window.alert("Error fetching project zip file template.");
        }
    } else {
        pathToZip = TEMPLATES_ROOT_DIRECTORY + projectName + "/" + projectName + PROJECT_ARCHIVE_EXTENSION;
        ode.getProjectService().newProjectFromTemplate(projectName, pathToZip, callback);
    }
}

From source file:com.google.appinventor.client.wizards.TemplateUploadWizard.java

License:Open Source License

/**
 * Helper method for opening a project given its Url
 * @param url A string of the form "http://... .asc
 * @param onSuccessCommand/*w w  w . ja v  a2  s.  c  o m*/
 */
private static void openTemplateProject(String url, final NewProjectCommand onSuccessCommand) {
    final Ode ode = Ode.getInstance();

    // This Async callback is called after the project is input and created
    final OdeAsyncCallback<UserProject> callback = new OdeAsyncCallback<UserProject>(
            // failure message
            MESSAGES.createProjectError()) {
        @Override
        public void onSuccess(UserProject projectInfo) {
            // This just adds the new project to the project manager, not to AppEngine
            Project project = ode.getProjectManager().addProject(projectInfo);
            // And this opens the project
            if (onSuccessCommand != null) {
                onSuccessCommand.execute(project);
            }
        }
    };

    final String projectName;
    if (url.endsWith(".asc")) {
        projectName = url.substring(1 + url.lastIndexOf("/"), url.lastIndexOf("."));
    } else {
        return;
    }

    // If project of the same name already exists, just open it
    if (!TextValidators.checkNewProjectName(projectName)) {
        Project project = ode.getProjectManager().getProject(projectName);
        if (onSuccessCommand != null) {
            onSuccessCommand.execute(project);
        }
        return; // Don't retrieve the template if the project is a duplicate
    }

    // Here's where we retrieve the template data
    // Do a GET to retrieve data at url
    RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);
    try {
        Request response = builder.sendRequest(null, new RequestCallback() {
            @Override
            public void onError(Request request, Throwable exception) {
                Window.alert("Unable to load Project Template Data");
            }

            // Response received from the GET
            @Override
            public void onResponseReceived(Request request, Response response) {
                // The response.getText is the zip data used to create a new project.
                // The callback opens the project
                ode.getProjectService().newProjectFromExternalTemplate(projectName, response.getText(),
                        callback);
            }
        });
    } catch (RequestException e) {
        Window.alert("Error fetching template file.");
    }
}

From source file:com.google.appinventor.client.wizards.TemplateUploadWizard.java

License:Open Source License

/**
 * Called from ProjectToolbar when user selects a set of external templates. It uses
 *  JsonP to retrieve a json file from an external server.
 *
 * @param hostUrl, Url of the host -- e.g., http://localhost:85/
 *//*  w  w  w.j  a  va 2  s.  c  o m*/
public static void retrieveExternalTemplateData(final String hostUrl) {
    String url = hostUrl + TEMPLATES_ROOT_DIRECTORY + EXTERNAL_JSON_FILE;

    RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);
    try {
        Request response = builder.sendRequest(null, new RequestCallback() {
            @Override
            public void onError(Request request, Throwable exception) {
                Window.alert("Unable to load Project Template Data.");
                if (instance != null) {
                    instance.populateTemplateDialog(null);
                }
            }

            @Override
            public void onResponseReceived(Request request, Response response) {
                if (response.getStatusCode() != Response.SC_OK) {
                    Window.alert("Unable to load Project Template Data.");
                    return;
                }

                ArrayList<TemplateInfo> externalTemplates = new ArrayList<TemplateInfo>();

                JSONValue jsonVal = JSONParser.parseLenient(response.getText());
                JSONArray jsonArr = jsonVal.isArray();

                for (int i = 0; i < jsonArr.size(); i++) {
                    JSONValue entry1 = jsonArr.get(i);
                    JSONObject entry = entry1.isObject();
                    externalTemplates.add(new TemplateInfo(entry.get("name").isString().stringValue(),
                            entry.get("subtitle").isString().stringValue(),
                            entry.get("description").isString().stringValue(),
                            entry.get("screenshot").isString().stringValue(),
                            entry.get("thumbnail").isString().stringValue()));
                }
                if (externalTemplates.size() == 0) {
                    Window.alert("Unable to retrieve templates for host = " + hostUrl + ".");
                    return;
                }
                addNewTemplateHost(hostUrl, externalTemplates);
            }
        });
    } catch (RequestException e) {
        Window.alert("Error fetching external template.");
    }
}

From source file:com.google.code.gwt.rest.client.impl.RestClientBuilder.java

License:Apache License

public RestPathBinding<T, R> createGetRequest(String uriTemplate) {
    return new RestRequestClientImpl(uriTemplate, RequestBuilder.GET);
}

From source file:com.google.code.gwt.rest.client.util.URLBuilder.java

License:Apache License

public URLBuilder(SimpleTemplate template) {
    this(RequestBuilder.GET, template);
}

From source file:com.google.code.gwt.rest.client.util.URLBuilder.java

License:Apache License

public String buildUrl() {
    StringBuilder sb = new StringBuilder();
    sb.append(template.resolve(paths));// w w  w .ja va2 s . c  o m
    if (params.size() > 0) {
        if (method.equals(RequestBuilder.GET)) {
            if (sb.toString().contains("?")) {
                sb.append("&");
            } else {
                sb.append("?");
            }
            sb.append(buildParam());
        }
    }
    String uri = sb.toString();
    return uri;
}

From source file:com.google.gerrit.client.account.NewAgreementScreen.java

License:Apache License

private void showCLA(final ContributorAgreement cla) {
    current = cla;/*from ww  w.j ava2 s  .  co  m*/
    String url = cla.getAgreementUrl();
    if (url != null && url.length() > 0) {
        agreementGroup.setVisible(true);
        agreementHtml.setText(Gerrit.C.rpcStatusWorking());
        if (!url.startsWith("http:") && !url.startsWith("https:")) {
            url = GWT.getHostPageBaseURL() + url;
        }
        final RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, url);
        rb.setCallback(new RequestCallback() {
            public void onError(Request request, Throwable exception) {
                new ErrorDialog(exception).center();
            }

            public void onResponseReceived(Request request, Response response) {
                final String ct = response.getHeader("Content-Type");
                if (response.getStatusCode() == 200 && ct != null
                        && (ct.equals("text/html") || ct.startsWith("text/html;"))) {
                    agreementHtml.setHTML(response.getText());
                } else {
                    new ErrorDialog(response.getStatusText()).center();
                }
            }
        });
        try {
            rb.send();
        } catch (RequestException e) {
            new ErrorDialog(e).show();
        }
    } else {
        agreementGroup.setVisible(false);
    }

    if (contactPanel == null && cla.isRequireContactInformation()) {
        contactPanel = new ContactPanelFull();
        contactGroup.add(contactPanel);
        contactPanel.hideSaveButton();
    }
    contactGroup.setVisible(cla.isRequireContactInformation() && cla.getAutoVerify() != null);
    finalGroup.setVisible(cla.getAutoVerify() != null);
    yesIAgreeBox.setText("");
    submit.setEnabled(false);
}

From source file:com.google.gwt.examples.http.client.GetExample.java

public static void doGet(String url) {
    RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);

    try {//from   w  w  w  .j ava  2 s  .  com
        Request response = builder.sendRequest(null, new RequestCallback() {
            public void onError(Request request, Throwable exception) {
                // Code omitted for clarity
            }

            public void onResponseReceived(Request request, Response response) {
                // Code omitted for clarity
            }
        });
    } catch (RequestException e) {
        // Code omitted for clarity
    }
}

From source file:com.google.gwt.examples.http.client.TimeoutExample.java

public static void doGetWithTimeout(String url) {
    RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);

    try {/*from w  ww  . j a  va 2  s  . co  m*/
        /*
         * wait 2000 milliseconds for the request to complete
         */
        builder.setTimeoutMillis(2000);

        Request response = builder.sendRequest(null, new RequestCallback() {
            public void onError(Request request, Throwable exception) {
                if (exception instanceof RequestTimeoutException) {
                    // handle a request timeout
                } else {
                    // handle other request errors
                }
            }

            public void onResponseReceived(Request request, Response response) {
                // code omitted for clarity
            }
        });
    } catch (RequestException e) {
        Window.alert("Failed to send the request: " + e.getMessage());
    }
}

From source file:com.google.gwt.sample.client.mystockwatcherEntryPoint.java

/**
 * Generate random stock prices.//from   www.  ja  va  2  s  . com
 */
private void refreshWatchList() {
    if (stocks.size() == 0) {
        return;
    }

    String url = JSON_URL;

    // Append watch list stock symbols to query URL.
    Iterator iter = stocks.iterator();
    while (iter.hasNext()) {
        url += iter.next();
        if (iter.hasNext()) {
            url += "+";
        }
    }

    url = URL.encode(url);

    // Send request to server and catch any errors.
    RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);

    try {
        Request request = builder.sendRequest(null, new RequestCallback() {

            @Override
            public void onError(Request request, Throwable exception) {
                displayError("Couldn't retrieve JSON");
            }

            public void onResponseReceived(Request request, Response response) {
                if (200 == response.getStatusCode()) {
                    updateTable(asArrayOfStockData(response.getText()));
                } else {
                    displayError("Couldn't retrieve JSON (" + response.getStatusText() + ")");
                }
            }
        });
    } catch (RequestException e) {
        displayError("Couldn't retrieve JSON");
    }
}