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

/**
 * Delete policy./*  w ww .  ja va2  s  . co m*/
 * 
 * @param key
 *            the key
 * @param callback
 *            the callback
 * @see org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryService#deletePolicy(org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryService.DeletePolicyRequest,
 *      com.google.gwt.user.client.rpc.AsyncCallback)
 */
@Override
public void deletePolicy(final PolicyKey key, final AsyncCallback<DeletePolicyResponse> callback) {
    if (key == null) {
        callback.onFailure(null);
    } else {

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

        url += (key.getId() == null ? "" : "&ns1:policyKey.ns1:policyId=" + key.getId().toString());
        url += (key.getName() == null ? "" : "&ns1:policyKey.ns1:policyName=" + key.getName().trim());
        url += (key.getType() == null ? ""
                : "&ns1:policyKey.ns1:policyType=" + key.getType().toString().toUpperCase());

        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(DeletePolicyResponseJS.NAME, response));
                    } else {
                        // convert response.getText() to JSON
                        DeletePolicyResponse deleteResponse = DeletePolicyResponseJS
                                .fromJSON(response.getText());
                        if (deleteResponse.isErrored())
                            callback.onFailure(getErrorAsThrowable(DeletePolicyResponseJS.NAME, response));
                        else
                            callback.onSuccess(deleteResponse);
                    }
                }
            });
        } catch (RequestException x) {
            callback.onFailure(x);
        }
    }
}

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

License:Open Source License

/**
 * Delete subject groups.//from  w ww  . j av a 2  s.c o  m
 * 
 * @param keys
 *            the keys
 * @param callback
 *            the callback
 * @see org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryService#deleteSubjectGroup(org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryService.DeleteSubjectGroupRequest,
 *      com.google.gwt.user.client.rpc.AsyncCallback)
 */
@Override
public void deleteSubjectGroups(final List<SubjectGroupKey> keys,
        final AsyncCallback<DeleteSubjectGroupResponse> callback) {
    if (keys == null) {
        return;
    }

    String url = BASE_POLICY_URL + "?" + getPartialUrl("deleteSubjectGroups", namespaces, RequestFormat.NV);
    int i = 0;
    for (SubjectGroupKey key : keys) {
        url += (key.getId() == null ? ""
                : "&ns1:subjectGroupKey(" + i + ").ns1:subjectGroupId=" + key.getId().toString());
        url += (key.getName() == null ? ""
                : "&ns1:subjectGroupKey(" + i + ").ns1:subjectGroupName=" + key.getName().trim());
        url += (key.getType() == null ? ""
                : "&ns1:subjectGroupKey(" + i + ").ns1:subjectType=" + key.getType().toString());
        i++;
    }
    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(DeleteSubjectGroupResponseJS.NAME, response));
                } else {
                    // convert response.getText() to JSON
                    DeleteSubjectGroupResponse delResponse = DeleteSubjectGroupResponseJS
                            .fromJSON(response.getText());
                    if (delResponse.isErrored())
                        callback.onFailure(getErrorAsThrowable(DeleteSubjectGroupResponseJS.NAME, response));
                    else
                        callback.onSuccess(delResponse);
                }
            }
        });
    } catch (RequestException x) {
        callback.onFailure(x);
    }
}

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

License:Open Source License

/**
 * Disable policy.//from   w w  w.  j a v  a2  s .  c o m
 * 
 * @param key
 *            the key
 * @param callback
 *            the callback
 * @see org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryService#disablePolicy(org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryService.DisablePolicyRequest,
 *      com.google.gwt.user.client.rpc.AsyncCallback)
 */
@Override
public void disablePolicy(final PolicyKey key, final AsyncCallback<DisablePolicyResponse> callback) {
    if (key == null) {
        callback.onFailure(null);
    } else {

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

        url += (key.getId() == null ? "" : "&ns1:policyKey.ns1:policyId=" + key.getId().toString());
        url += (key.getName() == null ? "" : "&ns1:policyKey.ns1:policyName=" + key.getName().trim());
        url += (key.getType() == null ? ""
                : "&ns1:policyKey.ns1:policyType=" + key.getType().toString().toUpperCase());

        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(DisablePolicyResponseJS.NAME, response));
                    } else {
                        // convert response.getText() to JSON
                        DisablePolicyResponse enableResponse = DisablePolicyResponseJS
                                .fromJSON(response.getText());
                        if (enableResponse.isErrored())
                            callback.onFailure(getErrorAsThrowable(DisablePolicyResponseJS.NAME, response));
                        else
                            callback.onSuccess(enableResponse);
                    }
                }
            });
        } catch (RequestException x) {
            callback.onFailure(x);
        }
    }
}

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

License:Open Source License

/**
 * Enable policy.//from   w  w w .j av  a 2  s  . co m
 * 
 * @param key
 *            the key
 * @param callback
 *            the callback
 * @see org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryService#enablePolicy(org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryService.EnablePolicyRequest,
 *      com.google.gwt.user.client.rpc.AsyncCallback)
 */
@Override
public void enablePolicy(final PolicyKey key, final AsyncCallback<EnablePolicyResponse> callback) {
    if (key == null) {
        callback.onFailure(null);
    } else {

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

        url += (key.getId() == null ? "" : "&ns1:policyKey.ns1:policyId=" + key.getId().toString());
        url += (key.getName() == null ? "" : "&ns1:policyKey.ns1:policyName=" + key.getName().trim());
        url += (key.getType() == null ? ""
                : "&ns1:policyKey.ns1:policyType=" + key.getType().toString().toUpperCase());

        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(EnablePolicyResponseJS.NAME, response));
                    } else {
                        // convert response.getText() to JSON
                        EnablePolicyResponse enableResponse = EnablePolicyResponseJS
                                .fromJSON(response.getText());
                        if (enableResponse.isErrored())
                            callback.onFailure(getErrorAsThrowable(EnablePolicyResponseJS.NAME, response));
                        else
                            callback.onSuccess(enableResponse);
                    }
                }
            });
        } 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 resources./*from w  w  w . j  a  va2 s .  c  om*/
 * 
 * @param keys
 *            the keys
 * @param callback
 *            the callback
 * @return the resources
 * @see org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryService#getResources(org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryService.GetResourcesRequest,
 *      com.google.gwt.user.client.rpc.AsyncCallback)
 */
@Override
public void getResources(final List<ResourceKey> keys, final AsyncCallback<GetResourcesResponse> callback) {

    if (keys == null)
        return;

    String url = BASE_POLICY_URL + "?" + getPartialUrl("getResources", namespaces, RequestFormat.NV);
    int i = 0;
    for (ResourceKey key : keys) {
        url += (key.getId() == null ? ""
                : "&ns1:resourceKey(" + i + ").ns1:resourceId=" + key.getId().toString());
        url += (key.getName() == null || key.getName().trim().isEmpty() ? ""
                : "&ns1:resourceKey(" + i + ").ns1:resourceName=" + key.getName().trim());
        url += (key.getType() == null || key.getType().trim().isEmpty() ? ""
                : "&ns1:resourceKey(" + i + ").ns1:resourceType=" + key.getType().toString().toUpperCase());
        i++;
    }

    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(GetResourcesResponseJS.NAME, response));
                } else {
                    // convert response.getText() to JSON
                    GetResourcesResponse resourcesResponse = GetResourcesResponseJS
                            .fromJSON(response.getText());
                    if (resourcesResponse.isErrored())
                        callback.onFailure(getErrorAsThrowable(GetResourcesResponseJS.NAME, response));
                    else
                        callback.onSuccess(resourcesResponse);
                }
            }
        });

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

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

License:Open Source License

/**
 * Find policies./*ww w .  j a v a2 s. c  om*/
 * 
 * @param sinceLastModifiedTime
 *            the since last modified time
 * @param keys
 *            the keys
 * @param resKeys
 *            the res keys
 * @param opKeys
 *            the op keys
 * @param subjectKeys
 *            the subject keys
 * @param subjectGroupKeys
 *            the subject group keys
 * @param outputSelector
 *            the output selector
 * @param condition
 *            the condition
 * @param callback
 *            the callback
 * @see org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryService#getPoliciesByKey(org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyKey,
 *      com.google.gwt.user.client.rpc.AsyncCallback)
 */
@Override
public void findPolicies(Long sinceLastModifiedTime, List<PolicyKey> keys, List<ResourceKey> resKeys,
        List<OperationKey> opKeys, List<SubjectKey> subjectKeys, List<SubjectGroupKey> subjectGroupKeys,
        PolicyOutputSelector outputSelector, QueryCondition condition,
        final AsyncCallback<GetPoliciesResponse> callback) {

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

    // sinceLastModifiedTime is measured as the milliseconds since the
    // epoch(GMT)
    // "YYYY-MM-DDThh:mm:ssZ" eg 2002-05-30T09:30:10Z
    if (sinceLastModifiedTime != null) {
        String time = PolicyAdminUIUtil.xsDateTimeFormat.format(new Date(sinceLastModifiedTime.longValue()));
        url += "&ns1:lastUpdatedDate=" + URL.encodeQueryString(time);
    }

    // find by a particular policy type
    // if(keys.size()==1){
    url = createPolicyKeyRequest(keys, url);
    // }else{
    // //find with all policy types
    // url = createPolicyKeyForAllRequest(keys, subjectGroupKeys, url);
    // }

    url = createResourceKeyRequest(resKeys, url);
    url = createOperationKeyRequest(opKeys, url);
    url = createSubjectKeyRequest(subjectKeys, url);
    url = createSubjectGroupKeyRequest(subjectGroupKeys, url);

    // is there an outputselector?
    if (outputSelector != null) {
        url += "&ns1:outputSelector=" + outputSelector.toString();
    }
    // is there a query condition?
    if (condition != null) {
        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(GetPoliciesResponseJS.NAME, response));
                } else {
                    // convert response.getText() to JSON
                    GetPoliciesResponse findResponse = GetPoliciesResponseJS.fromJSON(response.getText());
                    if (findResponse.isErrored()) {
                        callback.onFailure(getErrorAsThrowable(GetPoliciesResponseJS.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 entity history./*from  w  w w.j av a 2  s.c  om*/
 * 
 * @param startDate
 *            the start date
 * @param endDate
 *            the end date
 * @param polKeys
 *            the pol keys
 * @param resKeys
 *            the res keys
 * @param opKeys
 *            the op keys
 * @param subjectKeys
 *            the subject keys
 * @param subjectGroupKeys
 *            the subject group keys
 * @param callback
 *            the callback
 * @return the entity history
 * @see org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryService#getEntityHistory(org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryService.GetEntityHistoryRequest,
 *      com.google.gwt.user.client.rpc.AsyncCallback)
 */
@Override
public void getEntityHistory(Long startDate, Long endDate, List<PolicyKey> polKeys, List<ResourceKey> resKeys,
        List<OperationKey> opKeys, List<SubjectKey> subjectKeys, List<SubjectGroupKey> subjectGroupKeys,
        final AsyncCallback<GetEntityHistoryResponse> callback) {

    if (startDate == null || endDate == null || startDate > endDate)
        return;

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

    // startDate is measured as the milliseconds since the epoch(GMT)
    // "YYYY-MM-DDThh:mm:ssZ" eg 2002-05-30T09:30:10Z
    String start = PolicyAdminUIUtil.xsDateTimeFormat.format(new Date(startDate.longValue())).trim();
    url += "&ns1:startDate=" + URL.encodeQueryString(start);

    String end = PolicyAdminUIUtil.xsDateTimeFormat.format(new Date(endDate.longValue())).trim();
    url += "&ns1:endDate=" + URL.encodeQueryString(end);
    url = createPolicyKeyRequest(polKeys, url);
    url = createResourceKeyRequest(resKeys, url);
    url = createOperationKeyRequest(opKeys, url);
    url = createSubjectKeyRequest(subjectKeys, url);

    url = createSubjectGroupKeyRequest(subjectGroupKeys, url);

    RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, 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(GetEntityHistoryResponseJS.NAME, response));
                } else {
                    // convert response.getText() to JSON
                    GetEntityHistoryResponse createResponse = GetEntityHistoryResponseJS
                            .fromJSON(response.getText());
                    if (createResponse.isErrored()) {
                        callback.onFailure(getErrorAsThrowable(GetEntityHistoryResponseJS.NAME, response));
                    } else
                        callback.onSuccess(createResponse);
                }
            }
        });

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

}

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

License:Open Source License

/**
 * Creates internal subjects based on external ones.
 * //from w w  w. j  a v a  2s  .c  om
 * @param subjects
 *            the subjects
 * @param callback
 *            the callback
 * @see org.ebayopensource.turmeric.policy.adminui.client.model.policy.
 *      PolicyQueryService
 *      #createSubjects(List<org.ebayopensource.turmeric.policy.adminui
 *      .client.model.policy.Subjects>,
 *      com.google.gwt.user.client.rpc.AsyncCallback)
 */
@Override
public void createSubjects(final List<Subject> subjects, final AsyncCallback<CreateSubjectsResponse> callback) {
    if (subjects == null) {
        return;
    }

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

    url += SubjectsConverter.toNV(subjects);

    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(CreateSubjectsResponseJS.NAME, response));
                } else {
                    // convert response.getText() to JSON
                    CreateSubjectsResponse createResponse = CreateSubjectsResponseJS
                            .fromJSON(response.getText());
                    if (createResponse.isErrored())
                        callback.onFailure(getErrorAsThrowable(CreateSubjectsResponseJS.NAME, response));
                    else
                        callback.onSuccess(createResponse);
                }
            }
        });
    } catch (RequestException x) {
        callback.onFailure(x);
    }
}

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

License:Open Source License

/**
 * Creates the policy.//from   w  w w  .j  a v  a 2s  .com
 * 
 * @param policy
 *            the policy
 * @param callback
 *            the callback
 * @see org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryService#createPolicy(org.org.ebayopensource.turmeric.monitoring.client.model.policy.GenericPolicy,
 *      com.google.gwt.user.client.rpc.AsyncCallback)
 */
@Override
public void createPolicy(final GenericPolicy policy, final AsyncCallback<CreatePolicyResponse> callback) {
    if (policy == null) {
        return;
    }

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

    url += GenericPolicyConverter.toNV(policy);
    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
                    CreatePolicyResponse createResponse = CreatePolicyResponseJS.fromJSON(response.getText());
                    if (createResponse.isErrored()) {
                        callback.onFailure(getErrorAsThrowable(CreatePolicyResponseJS.NAME, response));
                    } else
                        callback.onSuccess(createResponse);
                }
            }
        });

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

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

License:Open Source License

/**
 * Find subject groups./*from  w  ww .  j  a  v a2 s  . co  m*/
 * 
 * @param query
 *            the query
 * @param callback
 *            the callback
 * @see org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryService#findSubjectGroups(org.ebayopensource.turmeric.policy.adminui.client.model.policy.SubjectGroupQuery,
 *      com.google.gwt.user.client.rpc.AsyncCallback)
 */
@Override
public void findSubjectGroups(final SubjectGroupQuery query,
        final AsyncCallback<FindSubjectGroupsResponse> callback) {
    if (query == null)
        return;

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

    if (query.getGroupKeys() != null) {
        int i = 0;
        for (SubjectGroupKey key : query.getGroupKeys()) {
            url += (key.getType() == null || "".equals(key.getType().trim()) ? ""
                    : "&ns1:subjectGroupQuery.ns1:subjectGroupKey(" + i + ").ns1:subjectType=" + key.getType());
            url += ((key.getName() == null || key.getName().trim().isEmpty()) ? ""
                    : "&ns1:subjectGroupQuery.ns1:subjectGroupKey(" + i + ").ns1:subjectGroupName="
                            + key.getName().trim());
            url += (key.getId() == null ? ""
                    : "&ns1:subjectGroupQuery.ns1:subjectGroupKey(" + i + ").ns1:subjectGroupId="
                            + key.getId().toString());
            i++;
        }
    }

    url += (query.getQuery() == null ? "" : "&ns1:subjectGroupQuery.ns1:queryString=" + query.getQuery());
    url += "&ns1:subjectGroupQuery.ns1:includeSubjects=" + query.isIncludeSubjects();
    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(FindSubjectGroupsResponseJS.NAME, response));
                } else {
                    // convert response.getText() to JSON
                    FindSubjectGroupsResponse findResponse = FindSubjectGroupsResponseJS
                            .fromJSON(response.getText());
                    if (findResponse.isErrored()) {
                        callback.onFailure(getErrorAsThrowable(FindSubjectGroupsResponseJS.NAME, response));
                    } else
                        callback.onSuccess(findResponse);
                }
            }
        });

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

}