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

License:Open Source License

/**
 * Enable policy./*  ww w.j  a v a  2 s . c  o  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.//ww w.j a va2 s  . com
 * 
 * @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./* w  w w  . java 2s.  c o  m*/
 * 
 * @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   ww  w.ja v a2  s  .co m
 * 
 * @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.
 * /* w w w .  j  a  v  a2 s.  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.// w w w.j a va2s  .  c  om
 * 
 * @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 . ja  va  2s .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);
    }

}

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

License:Open Source License

/**
 * Find subjects.//from   w w  w .ja v a  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  .j a v a  2 s  .c  om*/
 * 
 * @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.// ww w  .j  ava  2s. 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);
    }
}