Example usage for com.google.gwt.http.client URL encode

List of usage examples for com.google.gwt.http.client URL encode

Introduction

In this page you can find the example usage for com.google.gwt.http.client URL encode.

Prototype

public static String encode(String decodedURL) 

Source Link

Document

Returns a string where all characters that are not valid for a complete URL have been escaped.

Usage

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

License:Open Source License

/**
* Verify./*www .  j  a  v  a  2s.c o  m*/
* 
* @param opKey
*            the op key
* @param policyTypes
*            the policy types
* @param credentials
*            the credentials
* @param subjectTypes
*            the subject types
* @param extendedInfo
*            the extended info
* @param accessControlObjects
*            the access control objects
* @param resourceType
*            the resource type
* @param callback
*            the callback
* @see org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyEnforcementService#verify(org.ebayopensource.turmeric.policy.adminui.client.model.policy.OperationKey,
*      java.util.List, java.util.Map, java.util.List, java.util.Map,
*      java.util.List, java.lang.String,
*      com.google.gwt.user.client.rpc.AsyncCallback)
*/
@Override
public void verify(OperationKey opKey, List<String> policyTypes, Map<String, String> credentials,
        List<String[]> subjectTypes, Map<String, String> extendedInfo, List<String> accessControlObjects,
        String resourceType, final AsyncCallback<VerifyAccessResponse> callback) {

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

    //encode body of the request
    if (opKey != null) {
        url += OperationKeyConverter.toNV(opKey);

        if (policyTypes != null) {
            int i = 0;
            for (String pt : policyTypes) {
                url += "&ns1:policyType(" + i + ")=" + pt;
                i++;
            }
        }

        if (credentials != null) {
            int i = 0;
            for (Map.Entry<String, String> e : credentials.entrySet()) {
                url += "&ns1:credential(" + i + ").ns1:key=" + e.getKey();
                url += "&ns1:credential(" + i + ").ns1:value=" + e.getValue();
                i++;
            }
        }

        if (subjectTypes != null) {
            int i = 0;
            for (String[] st : subjectTypes) {
                if (st != null) {
                    url += (st[0] == null ? "" : "&ns1:subject(" + i + ").ns1:domain=" + st[0]);
                    url += (st[1] == null ? "" : "&ns1:subject(" + i + ").ns1:value=" + st[1]);
                }
                i++;
            }
        }

        if (extendedInfo != null) {
            int i = 0;
            for (Map.Entry<String, String> e : extendedInfo.entrySet()) {
                url += "&ns1:extendedInfo(" + i + ").ns1:key=" + e.getKey();
                url += "&ns1:extendedInfo(" + i + ").ns1:value=" + e.getValue();
                i++;
            }
        }

        if (accessControlObjects != null) {
            int i = 0;
            for (String s : accessControlObjects) {
                url += "&ns1:accessControlObject(" + i + ")=" + s;
                i++;
            }
        }

        if (resourceType != null) {
            url += "&ns1:resourceType=" + resourceType;
        }

        final RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, URL.encode(url));

        setSecurityHeaders(builder);
        //            System.err.println("builder = "+builder.getUrl());
        try {
            builder.sendRequest(null, new RequestCallback() {

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

                public void onResponseReceived(Request request, Response response) {
                    //                       System.err.println("response = "+response.getText());
                    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(VerifyAccessResponseJS.NAME, response));
                    } else {
                        //convert response.getText() to JSON
                        VerifyAccessResponse accessResponse = VerifyAccessResponseJS
                                .fromJSON(response.getText());
                        callback.onSuccess(accessResponse);
                    }
                }
            });
        } 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 subject groups./*from   www  . ja  v a  2s .co m*/
 * 
 * @param groups
 *            the groups
 * @param callback
 *            the callback
 * @see org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryService#createSubjectGroups(java.util.List,
 *      com.google.gwt.user.client.rpc.AsyncCallback)
 */
@Override
public void createSubjectGroups(final List<SubjectGroup> groups,
        final AsyncCallback<CreateSubjectGroupsResponse> callback) {
    if (groups == null)
        return;

    String url = BASE_POLICY_URL + "?" + getPartialUrl("createSubjectGroups", 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 += (g.getGroupCalculator() == null ? ""
                    : "&ns1:subjectGroups(" + i + ").@SubjectGroupCalculator=" + g.getGroupCalculator());
            // Subjects must have name && type?
            if (g.getSubjects() != null) {
                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++;
                }
            }
            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(CreateSubjectGroupsResponseJS.NAME, response));
                    } else {
                        // convert response.getText() to JSON
                        CreateSubjectGroupsResponse createResponse = CreateSubjectGroupsResponseJS
                                .fromJSON(response.getText());
                        if (createResponse.isErrored())
                            callback.onFailure(
                                    getErrorAsThrowable(CreateSubjectGroupsResponseJS.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

/**
 * Delete policy.//w  ww.  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#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  w  w .j a v  a  2s.  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.//  w w  w.j  a  va  2s .com
 * 
 * @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 ww w . jav  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./*from  w  w w  . j a  v  a 2s .co  m*/
 * 
 * @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./*from ww  w  .j  a  v  a 2  s .  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

/**
 * 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./*from   w w  w  .j av  a2  s  . c  o m*/
 * 
 * @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);
    }
}