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.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryServiceImpl.java

License:Open Source License

/**
 * Find subjects.//from w  w w .j  ava 2  s  . c  om
 * 
 * @param query
 *            the query
 * @param callback
 *            the callback
 * @see org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryService#findSubjects(org.ebayopensource.turmeric.policy.adminui.client.model.policy.SubjectQuery,
 *      com.google.gwt.user.client.rpc.AsyncCallback)
 */
@Override
public void findSubjects(final SubjectQuery query, final AsyncCallback<FindSubjectsResponse> callback) {
    if (query == null)
        return;

    String url = BASE_POLICY_URL + "?" + getPartialUrl("findSubjects", namespaces, RequestFormat.NV);
    if (query.getTypeKeys() != null) {
        int i = 0;
        for (SubjectTypeKey key : query.getTypeKeys()) {
            url += (key.getTypeId() == null ? ""
                    : "&ns1:subjectQuery.ns1:subjectTypeKey(" + i + ").ns1:subjectTypeId="
                            + key.getTypeId().toString());
            url += (key.getTypeName() == null ? ""
                    : "&ns1:subjectQuery.ns1:subjectTypeKey(" + i + ").ns1:subjectType=" + key.getTypeName());
            i++;
        }
    }

    if (query.getSubjectKeys() != null) {
        int i = 0;
        for (SubjectKey key : query.getSubjectKeys()) {
            url += (key.getType() == null ? ""
                    : "&ns1:subjectQuery.ns1:subjectKey(" + i + ").ns1:subjectType=" + key.getType());
            url += (key.getName() == null || key.getName().trim().isEmpty() ? ""
                    : "&ns1:subjectQuery.ns1:subjectKey(" + i + ").ns1:subjectName=" + key.getName().trim());
            url += (key.getId() == null ? ""
                    : "&ns1:subjectQuery.ns1:subjectKey(" + i + ").ns1:subjectId=" + key.getId().toString());
            i++;
        }
    }

    url += (query.getQuery() == null ? "" : "&ns1:subjectQuery.ns1:queryString=" + query.getQuery());

    RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, URL.encode(url));
    setSecurityHeaders(builder);
    try {
        builder.sendRequest(null, new RequestCallback() {

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

            public void onResponseReceived(Request request, Response response) {
                if (response.getStatusCode() != Response.SC_OK) {
                    callback.onFailure(new Throwable(
                            PolicyAdminUIUtil.constants.error() + " " + response.getStatusCode()));
                } else if (response.getHeader(ERROR_HEADER) != null
                        && response.getHeader(ERROR_HEADER).length() > 0) {
                    callback.onFailure(getErrorAsThrowable(FindSubjectsResponseJS.NAME, response));
                } else {
                    // convert response.getText() to JSON
                    FindSubjectsResponse findResponse = FindSubjectsResponseJS.fromJSON(response.getText());
                    if (findResponse.isErrored()) {
                        callback.onFailure(getErrorAsThrowable(FindSubjectsResponseJS.NAME, response));
                    } else
                        callback.onSuccess(findResponse);
                }
            }
        });

    } catch (RequestException x) {
        callback.onFailure(x);
    }

}

From source file:org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryServiceImpl.java

License:Open Source License

/**
 * Find external subjects./*from   ww  w  .ja va  2  s . c  o m*/
 * 
 * @param query
 *            the query
 * @param callback
 *            the callback
 * @see org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryService#findExternalSubjects(org.ebayopensource.turmeric.policy.adminui.client.model.policy.SubjectQuery,
 *      com.google.gwt.user.client.rpc.AsyncCallback)
 */
public void findExternalSubjects(SubjectQuery query,
        final AsyncCallback<FindExternalSubjectsResponse> callback) {
    if (query == null)
        return;

    String url = BASE_POLICY_URL + "?" + getPartialUrl("findExternalSubjects", namespaces, RequestFormat.NV);

    if (query.getTypeKeys() != null) {
        int i = 0;
        for (SubjectTypeKey key : query.getTypeKeys()) {
            url += (key.getTypeId() == null ? ""
                    : "&ns1:subjectQuery.ns1:subjectTypeKey(" + i + ").ns1:subjectTypeId="
                            + key.getTypeId().toString());
            url += (key.getTypeName() == null ? ""
                    : "&ns1:subjectQuery.ns1:subjectTypeKey(" + i + ").ns1:subjectType=" + key.getTypeName());
            i++;
        }
    }

    if (query.getSubjectKeys() != null) {
        int i = 0;
        for (SubjectKey key : query.getSubjectKeys()) {
            url += (key.getType() == null ? ""
                    : "&ns1:subjectQuery.ns1:subjectKey(" + i + ").ns1:subjectType=" + key.getType());
            url += (key.getName() == null || key.getName().trim().isEmpty() ? ""
                    : "&ns1:subjectQuery.ns1:subjectKey(" + i + ").ns1:subjectName=" + key.getName().trim());
            url += (key.getId() == null ? ""
                    : "&ns1:subjectQuery.ns1:subjectKey(" + i + ").ns1:subjectId=" + key.getId().toString());
            i++;
        }
    }

    url += (query.getQuery() == null ? "" : "&ns1:subjectQuery.ns1:queryString=" + query.getQuery());

    RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, URL.encode(url));
    setSecurityHeaders(builder);
    try {
        builder.sendRequest(null, new RequestCallback() {

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

            public void onResponseReceived(Request request, Response response) {
                if (response.getStatusCode() != Response.SC_OK) {
                    callback.onFailure(new Throwable(
                            PolicyAdminUIUtil.constants.error() + " " + response.getStatusCode()));
                } else if (response.getHeader(ERROR_HEADER) != null
                        && response.getHeader(ERROR_HEADER).length() > 0) {
                    callback.onFailure(getErrorAsThrowable(FindExternalSubjectsResponseJS.NAME, response));
                } else {
                    // convert response.getText() to JSON
                    FindExternalSubjectsResponse findResponse = FindExternalSubjectsResponseJS
                            .fromJSON(response.getText());
                    if (findResponse.isErrored()) {
                        callback.onFailure(getErrorAsThrowable(FindExternalSubjectsResponseJS.NAME, response));
                    } else
                        callback.onSuccess(findResponse);
                }
            }
        });

    } catch (RequestException x) {
        callback.onFailure(x);
    }
}

From source file:org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryServiceImpl.java

License:Open Source License

/**
 * Gets the meta data.//from w  w w .  j av  a2 s.  c om
 * 
 * @param condition
 *            the condition
 * @param callback
 *            the callback
 * @return the meta data
 * @see org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryService#getMetaData(org.ebayopensource.turmeric.policy.adminui.client.model.policy.QueryCondition,
 *      com.google.gwt.user.client.rpc.AsyncCallback)
 */
@Override
public void getMetaData(QueryCondition condition, final AsyncCallback<GetMetaDataResponse> callback) {
    if (condition == null)
        return;

    String url = BASE_POLICY_URL + "?" + getPartialUrl("getMetaData", namespaces, RequestFormat.NV);
    url += (condition.getResolution() == null ? ""
            : "&ns1:queryCondition.ns1:resolution=" + condition.getResolution().toString());
    if (condition.getQueries() != null) {
        int i = 0;
        for (QueryCondition.Query q : condition.getQueries()) {
            url += "&ns1:queryCondition.ns1:query(" + i + ").ns1:QueryType=" + q.getType().toString();
            url += "&ns1:queryCondition.ns1:query(" + i + ").ns1:QueryValue=" + q.getValue().toString();
        }
    }
    RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, URL.encode(url));
    setSecurityHeaders(builder);
    try {
        builder.sendRequest(null, new RequestCallback() {

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

            public void onResponseReceived(Request request, Response response) {
                if (response.getStatusCode() != Response.SC_OK) {
                    callback.onFailure(new Throwable(
                            PolicyAdminUIUtil.constants.error() + " " + response.getStatusCode()));
                } else if (response.getHeader(ERROR_HEADER) != null
                        && response.getHeader(ERROR_HEADER).length() > 0) {
                    callback.onFailure(getErrorAsThrowable(CreatePolicyResponseJS.NAME, response));
                } else {
                    // convert response.getText() to JSON
                    GetMetaDataResponse metaDataResponse = GetMetaDataResponseJS.fromJSON(response.getText());
                    if (metaDataResponse.isErrored()) {
                        callback.onFailure(getErrorAsThrowable(GetMetaDataResponseJS.NAME, response));
                    } else
                        callback.onSuccess(metaDataResponse);
                }
            }
        });

    } catch (RequestException x) {
        callback.onFailure(x);
    }
}

From source file:org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryServiceImpl.java

License:Open Source License

/**
 * Update subject groups.//from w  w w .j av  a2s .  co  m
 * 
 * @param groups
 *            the groups
 * @param mode
 *            the mode
 * @param callback
 *            the callback
 * @see org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryService#updateSubjectGroups(java.util.List,
 *      com.google.gwt.user.client.rpc.AsyncCallback)
 */
@Override
public void updateSubjectGroups(List<SubjectGroup> groups, UpdateMode mode,
        final AsyncCallback<UpdateSubjectGroupsResponse> callback) {
    if (groups == null)
        return;
    String url = BASE_POLICY_URL + "?" + getPartialUrl("updateSubjectGroups", namespaces, RequestFormat.NV);
    if (groups != null) {
        int i = 0;
        for (SubjectGroup g : groups) {
            url += (g.getName() == null ? ""
                    : "&ns1:subjectGroups(" + i + ").@SubjectGroupName=" + g.getName().trim());
            url += (g.getType() == null ? ""
                    : "&ns1:subjectGroups(" + i + ").@SubjectType=" + g.getType().toString());
            url += (g.getDescription() == null ? ""
                    : "&ns1:subjectGroups(" + i + ").@Description=" + g.getDescription());
            url += ("&ns1:subjectGroups(" + i + ").@SubjectGroupCalculator="
                    + (g.getGroupCalculator() != null ? g.getGroupCalculator() : ""));

            // Subjects must have name && type?
            if (g.getSubjects() != null && g.getSubjects().size() > 0) {
                int j = 0;
                for (String s : g.getSubjects()) {
                    url += "&ns1:subjectGroups(" + i + ").ns1:Subject(" + j + ").@SubjectName=" + s;
                    url += "&ns1:subjectGroups(" + i + ").ns1:Subject(" + j + ").@SubjectType="
                            + g.getType().toString();
                    j++;
                }
            }

            // SubjectMatch for the id. Optional: 0 or 1 element
            if (g.getSubjectMatchTypes() != null && g.getSubjectMatchTypes().size() > 0) {
                int j = 0;
                for (SubjectMatchType sm : g.getSubjectMatchTypes()) {
                    url += "&ns1:subjectGroups(" + i + ").ns2:SubjectMatch(" + j + ").@MatchId="
                            + sm.getMatchId();
                    url += "&ns1:subjectGroups(" + i + ").ns2:SubjectMatch(" + j + ").ns2:AttributeValue="
                            + sm.getAttributeValue();
                    url += "&ns1:subjectGroups(" + i + ").ns2:SubjectMatch(" + j
                            + ").ns2:SubjectAttributeDesignator.@AttributeId="
                            + sm.getSubjectAttributeDesignator();
                    j++;
                }

            }

            i++;
        }

        // update mode
        url += (mode == null ? "" : "&ns1:updateMode=" + mode.toString());
        RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, URL.encode(url));
        setSecurityHeaders(builder);
        try {
            builder.sendRequest(null, new RequestCallback() {

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

                public void onResponseReceived(Request request, Response response) {
                    if (response.getStatusCode() != Response.SC_OK) {
                        callback.onFailure(new Throwable(
                                PolicyAdminUIUtil.constants.error() + " " + response.getStatusCode()));
                    } else if (response.getHeader(ERROR_HEADER) != null
                            && response.getHeader(ERROR_HEADER).length() > 0) {
                        callback.onFailure(getErrorAsThrowable(CreateSubjectGroupsResponseJS.NAME, response));
                    } else {
                        // convert response.getText() to JSON
                        UpdateSubjectGroupsResponse updateResponse = UpdateSubjectGroupsResponseJS
                                .fromJSON(response.getText());
                        if (updateResponse.isErrored())
                            callback.onFailure(
                                    getErrorAsThrowable(UpdateSubjectGroupsResponseJS.NAME, response));
                        else
                            callback.onSuccess(updateResponse);
                    }
                }
            });
        } catch (RequestException x) {
            callback.onFailure(x);
        }
    }
}

From source file:org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryServiceImpl.java

License:Open Source License

/**
 * Update policy.//  www  .  ja  v a2s .c o m
 * 
 * @param mode
 *            the mode
 * @param policy
 *            the policy
 * @param callback
 *            the callback
 * @see org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryService#updatePolicy(org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryService.UpdateMode,
 *      org.ebayopensource.turmeric.policy.adminui.client.model.policy.GenericPolicy,
 *      com.google.gwt.user.client.rpc.AsyncCallback)
 */
@Override
public void updatePolicy(UpdateMode mode, GenericPolicy policy,
        final AsyncCallback<UpdatePolicyResponse> callback) {
    if (policy == null)
        return;

    String url = BASE_POLICY_URL + "?" + getPartialUrl("updatePolicy", namespaces, RequestFormat.JSON);

    String json = "" + "{" + "   \"jsonns.ns1\":\"" + SECURITY_NAMESPACE + "\"," + "   \"jsonns.ns2\":\""
            + OASIS_NAMESPACE + "\"," + "   \"ns1.updatePolicyRequest\":{" + "   \"ns1.updateMode\": \""
            + mode.toString() + "\",";

    json += GenericPolicyConverter.toJSON(policy);

    json += "   }";
    json += "}";

    RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, URL.encode(url));
    setSecurityHeaders(builder);
    try {
        builder.sendRequest(json, new RequestCallback() {

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

            public void onResponseReceived(Request request, Response response) {
                if (response.getStatusCode() != Response.SC_OK) {
                    callback.onFailure(new Throwable(
                            PolicyAdminUIUtil.constants.error() + " " + response.getStatusCode()));
                } else if (response.getHeader(ERROR_HEADER) != null
                        && response.getHeader(ERROR_HEADER).length() > 0) {
                    callback.onFailure(getErrorAsThrowable(UpdatePolicyResponseJS.NAME, response));
                } else {
                    // convert response.getText() to JSON
                    UpdatePolicyResponse updateResponse = UpdatePolicyResponseJS.fromJSON(response.getText());
                    if (updateResponse.isErrored())
                        callback.onFailure(getErrorAsThrowable(UpdatePolicyResponseJS.NAME, response));
                    else
                        callback.onSuccess(updateResponse);
                }
            }
        });
    } catch (RequestException x) {
        callback.onFailure(x);
    }

}

From source file:org.eclipse.che.ide.extension.machine.client.perspective.widgets.machine.appliance.recipe.RecipeTabPresenter.java

License:Open Source License

/**
 * Calls special method on view which updates recipe of current machine.
 *
 * @param machine/* w  ww .j av  a 2  s  .  co m*/
 *         machine for which need update information
 */
public void updateInfo(@NotNull Machine machine) {
    String scriptLocation = machine.getRecipeUrl();

    if (scriptLocation.isEmpty()) {
        return;
    }

    RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.GET, scriptLocation);

    try {
        requestBuilder.sendRequest(null, new RequestCallback() {
            @Override
            public void onResponseReceived(Request request, Response response) {
                view.setScript(response.getText());
            }

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

            }
        });
    } catch (RequestException exception) {
        Log.error(getClass(), exception);
    }
}

From source file:org.eclipse.kura.web.client.ui.EntryClassUi.java

License:Open Source License

private void installMarketplaceDp(final String uri) {
    String url = "/" + GWT.getModuleName() + "/file/deploy/url";
    final RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, URL.encode(url));

    this.gwtXSRFService.generateSecurityToken(new AsyncCallback<GwtXSRFToken>() {

        @Override/*from ww w . j  a  v  a  2 s . c  o m*/
        public void onFailure(Throwable ex) {
            EntryClassUi.hideWaitModal();
            FailureHandler.handle(ex, EntryClassUi.class.getName());
        }

        @Override
        public void onSuccess(GwtXSRFToken token) {
            StringBuilder sb = new StringBuilder();
            sb.append("xsrfToken=" + token.getToken());
            sb.append("&packageUrl=" + uri);

            builder.setHeader("Content-type", "application/x-www-form-urlencoded");
            try {
                builder.sendRequest(sb.toString(), new RequestCallback() {

                    @Override
                    public void onResponseReceived(Request request, Response response) {
                        logger.info(response.getText());
                    }

                    @Override
                    public void onError(Request request, Throwable ex) {
                        logger.log(Level.SEVERE, ex.getMessage(), ex);
                        FailureHandler.handle(ex, EntryClassUi.class.getName());
                    }

                });
            } catch (RequestException e) {
                logger.log(Level.SEVERE, e.getMessage(), e);
                FailureHandler.handle(e, EntryClassUi.class.getName());
            }
        }
    });
}

From source file:org.eclipselabs.emfjson.gwt.handlers.HttpHandler.java

License:Open Source License

@Override
public void createInputStream(URI uri, Map<?, ?> options, final Callback<Map<?, ?>> callback) {
    RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, URL.encode(uri.toString()));

    try {// w ww  .j  a  v  a2 s  .co m
        builder.sendRequest(null, new RequestCallback() {
            @Override
            public void onResponseReceived(Request request, Response response) {
                Map<String, Object> resultMap = new HashMap<String, Object>();
                Map<String, Object> responseMap = new HashMap<String, Object>();
                resultMap.put(URIConverter.OPTION_RESPONSE, responseMap);

                if (200 == response.getStatusCode()) {
                    String responseText = response.getText();
                    if (responseText != null) {
                        InputStream stream = new ByteArrayInputStream(responseText.getBytes());
                        responseMap.put(URIConverter.RESPONSE_RESULT, stream);
                    }
                } else {
                    responseMap.put(URIConverter.RESPONSE_RESULT, null);
                }
                callback.onSuccess(resultMap);
            }

            @Override
            public void onError(Request request, Throwable exception) {
                callback.onFailure(exception);
            }
        });
    } catch (RequestException e) {
        e.printStackTrace();
    }
}

From source file:org.eclipselabs.emfjson.gwt.handlers.HttpHandler.java

License:Open Source License

@Override
public void delete(URI uri, Map<?, ?> options, final Callback<Map<?, ?>> callback) {
    RequestBuilder builder = new RequestBuilder(RequestBuilder.DELETE, URL.encode(uri.toString()));

    try {/*from   www . j a  v  a2s  .  c  o m*/
        builder.sendRequest(null, new RequestCallback() {
            @Override
            public void onResponseReceived(Request request, Response response) {
                Map<String, Object> resultMap = new HashMap<String, Object>();
                Map<String, Object> responseMap = new HashMap<String, Object>();
                resultMap.put(URIConverter.OPTION_RESPONSE, responseMap);

                int code = response.getStatusCode();
                if (code >= 200 && code < 300) {
                    responseMap.put(URIConverter.RESPONSE_RESULT, null);
                    responseMap.put(URIConverter.RESPONSE_TIME_STAMP_PROPERTY, null);
                    responseMap.put(URIConverter.RESPONSE_URI, null);
                }

                callback.onSuccess(resultMap);
            }

            @Override
            public void onError(Request request, Throwable exception) {
                callback.onFailure(exception);
            }
        });
    } catch (RequestException e) {
        e.printStackTrace();
    }
}

From source file:org.eclipselabs.emfjson.gwt.handlers.HttpHandler.java

License:Open Source License

@Override
public void store(URI uri, byte[] bytes, Map<?, ?> options, final Callback<Map<?, ?>> callback) {
    RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, URL.encode(uri.toString()));

    String data = new String(bytes);
    try {//  w  ww .j a  v  a2  s. c  o  m
        builder.sendRequest(data, new RequestCallback() {
            @Override
            public void onResponseReceived(Request request, Response response) {
                Map<String, Object> resultMap = new HashMap<String, Object>();
                Map<String, Object> responseMap = new HashMap<String, Object>();
                resultMap.put(URIConverter.OPTION_RESPONSE, responseMap);

                int code = response.getStatusCode();
                if (code > 200 && code < 300) {
                    responseMap.put(URIConverter.RESPONSE_RESULT, null);
                    responseMap.put(URIConverter.RESPONSE_TIME_STAMP_PROPERTY, null);
                    responseMap.put(URIConverter.RESPONSE_URI, null);
                }

                callback.onSuccess(resultMap);
            }

            @Override
            public void onError(Request request, Throwable exception) {
                callback.onFailure(exception);
            }
        });
    } catch (RequestException e) {
        e.printStackTrace();
    }
}