List of usage examples for com.google.gwt.http.client RequestBuilder sendRequest
public Request sendRequest(String requestData, RequestCallback callback) throws RequestException
From source file:org.ebayopensource.turmeric.monitoring.client.model.MetricsQueryServiceImpl.java
License:Open Source License
/** * Call the remote server to obtain the list of services and their operations. * /*from www .j a va2 s . c o m*/ * @param callback * the callback * @see org.ebayopensource.turmeric.monitoring.client.model.MetricsQueryService#getServices(com.google.gwt.user.client.rpc.AsyncCallback) */ public void getServices(final AsyncCallback<Map<String, Set<String>>> callback) { final String url = MetricsMetaDataRequest.getRestURL("Service", null, "Service"); // the final results final Map<String, Set<String>> serviceMap = new TreeMap<String, Set<String>>(); // Ask for the services RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, URL.encode(url)); try { builder.sendRequest(null, new RequestCallback() { public void onError(Request request, Throwable err) { errorLogger.log(Level.SEVERE, "Error in getServices call", err); callback.onFailure(err); } public void onResponseReceived(Request request, Response response) { if (response.getStatusCode() != Response.SC_OK) { errorLogger.log(Level.SEVERE, "Errored request in getServices call: " + url + " response code=" + response.getStatusCode() + " response=" + response.getText()); callback.onFailure(getErrorAsThrowable(response)); } else if (response.getHeader(ERROR_HEADER) != null && response.getHeader(ERROR_HEADER).length() > 0) { errorLogger.log(Level.SEVERE, "Errored request in getServices call: " + url + " response code=" + response.getStatusCode() + " response=" + response.getText()); callback.onFailure(getErrorAsThrowable(response)); } else { // convert JSON to list of service names GWT.log(response.getText()); MetricsMetaDataResponse metaDataResponse = MetricsMetaDataResponse .fromJSON(response.getText()); if (metaDataResponse == null) callback.onFailure(new Throwable(ConsoleUtil.messages.badRequestData())); else { Set<String> services = metaDataResponse.getOrderedResourceEntityResponseNames(); for (String s : services) { GWT.log("service " + s); serviceMap.put(s, new TreeSet<String>()); } // Now ask for the operations of all the services getServiceOperationsJSON(serviceMap, callback); } } } }); } catch (RequestException x) { errorLogger.log(Level.SEVERE, "Error in getServices call", x); callback.onFailure(x); } }
From source file:org.ebayopensource.turmeric.monitoring.client.model.MetricsQueryServiceImpl.java
License:Open Source License
/** * Talk to the remote server to obtain a list of all operations for the given services. * //ww w . ja v a 2 s .c o m * @param serviceMap * keys are the list of services for which to obtain the operations * @param callback * the callback */ public void getServiceOperations(final Map<String, Set<String>> serviceMap, final AsyncCallback<Map<String, Set<String>>> callback) { final String url = MetricsMetaDataRequest.getRestURL("Service", serviceMap.keySet(), "Operation"); RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, URL.encode(url)); try { builder.sendRequest(null, new RequestCallback() { public void onError(Request request, Throwable err) { errorLogger.log(Level.SEVERE, "Error in getServiceOperations call", err); callback.onFailure(err); } public void onResponseReceived(final Request request, final Response response) { if (response.getStatusCode() != Response.SC_OK) { errorLogger.log(Level.SEVERE, "Errored request in getServiceOperations call: " + url + " response code=" + response.getStatusCode() + " response=" + response.getText()); callback.onFailure(getErrorAsThrowable(response)); } else if (response.getHeader(ERROR_HEADER) != null && response.getHeader(ERROR_HEADER).length() > 0) { errorLogger.log(Level.SEVERE, "Errored request in getServiceOperations call: " + url + " response code=" + response.getStatusCode() + " response=" + response.getText()); callback.onFailure(getErrorAsThrowable(response)); } else { MetricsMetaDataResponse metaDataResponse = MetricsMetaDataResponse .fromJSON(response.getText()); if (metaDataResponse == null) callback.onFailure(new Throwable(ConsoleUtil.messages.badOrMissingResponseData())); else { Set<String> operationNames = metaDataResponse.getOrderedResourceEntityResponseNames(); String error = null; Iterator<String> itor = operationNames.iterator(); while (itor.hasNext() && error == null) { String s = itor.next(); int dot = s.indexOf("."); if (dot < 0) { error = s; } else { Set<String> operations = serviceMap.get(s.substring(0, dot)); if (operations != null) operations.add(s.substring(dot + 1)); } } if (error != null) callback.onFailure(new Throwable(error)); else callback.onSuccess(serviceMap); } } } }); } catch (RequestException x) { errorLogger.log(Level.SEVERE, "Error in getServiceOperations call", x); callback.onFailure(x); } }
From source file:org.ebayopensource.turmeric.monitoring.client.model.MetricsQueryServiceImpl.java
License:Open Source License
/** * Gets the service operations json.// w w w. j a va2 s . c o m * * @param serviceMap * the service map * @param callback * the callback */ public void getServiceOperationsJSON(final Map<String, Set<String>> serviceMap, final AsyncCallback<Map<String, Set<String>>> callback) { final String url = MetricsMetaDataRequest.getJSONUrl(); final String json = MetricsMetaDataRequest.getJSON("Service", serviceMap.keySet(), "Operation"); RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, URL.encode(url)); try { builder.sendRequest(json, new RequestCallback() { public void onError(Request request, Throwable err) { callback.onFailure(err); } public void onResponseReceived(final Request request, final Response response) { if (response.getStatusCode() != Response.SC_OK) { errorLogger.log(Level.SEVERE, "Errored request in getServiceOperationsJSON call: " + url + " response code=" + response.getStatusCode() + " response=" + response.getText()); callback.onFailure(getErrorAsThrowable(response)); } else if (response.getHeader(ERROR_HEADER) != null && response.getHeader(ERROR_HEADER).length() > 0) { errorLogger.log(Level.SEVERE, "Errored request in getServiceOperationsJSON call: " + url + " Response=" + response.getText()); callback.onFailure(getErrorAsThrowable(response)); } else { MetricsMetaDataResponse metaDataResponse = MetricsMetaDataResponse .fromJSON(response.getText()); if (metaDataResponse == null) callback.onFailure(new Throwable(ConsoleUtil.messages.badOrMissingResponseData())); else { Set<String> operationNames = metaDataResponse.getOrderedResourceEntityResponseNames(); String error = null; Iterator<String> itor = operationNames.iterator(); while (itor.hasNext() && error == null) { String s = itor.next(); int dot = s.indexOf("."); if (dot < 0) { error = s; } else { Set<String> operations = serviceMap.get(s.substring(0, dot)); if (operations != null) operations.add(s.substring(dot + 1)); } } if (error != null) callback.onFailure(new Throwable(error)); else callback.onSuccess(serviceMap); } } } }); } catch (RequestException x) { errorLogger.log(Level.SEVERE, "Error in getServiceOperationsJSON call", x); callback.onFailure(x); } }
From source file:org.ebayopensource.turmeric.monitoring.client.model.MetricsQueryServiceImpl.java
License:Open Source License
/** * Gets the error data./*from www . j a v a 2 s . c o m*/ * * @param errorCriteria * the error criteria * @param metricCriteria * the metric criteria * @param callback * the callback * @see org.ebayopensource.turmeric.monitoring.client.model.MetricsQueryService#getErrorData(org.ebayopensource.turmeric.monitoring.client.model.MetricsQueryService.ErrorType, * java.util.List, java.util.List, java.util.List, java.lang.String, boolean, * org.ebayopensource.turmeric.monitoring.client.model.MetricsQueryService.ErrorCategory, * org.ebayopensource.turmeric.monitoring.client.model.MetricsQueryService.ErrorSeverity, * org.ebayopensource.turmeric.monitoring.client.model.MetricCriteria) */ public void getErrorData(final ErrorCriteria errorCriteria, final MetricCriteria metricCriteria, final AsyncCallback<ErrorMetricData> callback) { final String url = URL.encode(ErrorMetricsDataRequest.getRestURL(errorCriteria, metricCriteria)); RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url); final ErrorMetricData data = new ErrorMetricData(); data.setRestUrl(url); data.setErrorCriteria(errorCriteria); data.setMetricCriteria(metricCriteria); 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) { errorLogger.log(Level.SEVERE, "Errored request in getErrorData call: " + url + " response code=" + response.getStatusCode() + " response=" + response.getText()); callback.onFailure(getErrorAsThrowable(response)); } else if (response.getHeader(ERROR_HEADER) != null && response.getHeader(ERROR_HEADER).length() > 0) { errorLogger.log(Level.SEVERE, "Errored request in getErrorData call: " + url + " Response=" + response.getText()); callback.onFailure(getErrorAsThrowable(response)); } else { ErrorMetricsDataResponse metricsResponse = ErrorMetricsDataResponse .fromJSON(response.getText()); if (metricsResponse == null) { errorLogger.log(Level.SEVERE, "Errored request in getErrorData call: " + url + " Response=" + response.getText()); callback.onFailure(new Throwable(ConsoleUtil.messages.badOrMissingResponseData())); } else { JsArray<ErrorViewDataJS> rows = metricsResponse.getReturnData(); List<ErrorViewData> results = new ArrayList<ErrorViewData>(); if (rows != null) { for (int i = 0; i < rows.length(); i++) { ErrorViewDataJS js = rows.get(i); results.add(js); } } data.setReturnData(results); callback.onSuccess(data); } } } }); } catch (RequestException x) { errorLogger.log(Level.SEVERE, "error in getErrorData call", x); callback.onFailure(x); GWT.log("Exception in server call: " + x.toString()); } }
From source file:org.ebayopensource.turmeric.monitoring.client.model.MetricsQueryServiceImpl.java
License:Open Source License
/** * Gets the error detail.// w w w. j a v a 2s .com * * @param errorId * the error id * @param errorName * the error name * @param service * the service * @param callback * the callback * @see org.ebayopensource.turmeric.monitoring.client.model.MetricsQueryService#getErrorDetail(java.lang.String, * java.lang.String, com.google.gwt.user.client.rpc.AsyncCallback) */ public void getErrorDetail(final String errorId, final String errorName, final String service, final AsyncCallback<ErrorDetail> callback) { final String url = URL.encode(ErrorMetricsMetadataRequest.getRestURL(errorId, errorName, service)); RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url); try { builder.sendRequest(null, new RequestCallback() { public void onError(Request request, Throwable err) { errorLogger.log(Level.SEVERE, "Error in getErrorDetail call:", err); callback.onFailure(err); } public void onResponseReceived(Request request, Response response) { if (response.getStatusCode() != Response.SC_OK) { errorLogger.log(Level.SEVERE, "Errored request in getErrorDetail call: " + url + " response code=" + response.getStatusCode() + " response=" + response.getText()); callback.onFailure(new Throwable("Error " + response.getStatusCode())); } else if (response.getHeader(ERROR_HEADER) != null && response.getHeader(ERROR_HEADER).length() > 0) { errorLogger.log(Level.SEVERE, "Errored request in getErrorDetail call: " + url + " response code=" + response.getStatusCode() + " response=" + response.getText()); callback.onFailure(new Throwable(ConsoleUtil.messages.badRequestData())); } else { ErrorMetricsMetadataResponse metricsResponse = ErrorMetricsMetadataResponse .fromJSON(response.getText()); if (metricsResponse == null) { callback.onFailure(new Throwable(ConsoleUtil.messages.badOrMissingResponseData())); } else { ErrorDetailJS js = metricsResponse.getReturnData(); if (js == null) callback.onFailure(new Throwable(ConsoleUtil.messages.badOrMissingResponseData())); else callback.onSuccess(js); } } } }); } catch (RequestException x) { errorLogger.log(Level.SEVERE, "Error in getErrorDetail call", x); callback.onFailure(x); } }
From source file:org.ebayopensource.turmeric.monitoring.client.model.MetricsQueryServiceImpl.java
License:Open Source License
/** * Gets the error time slot data.//from w w w .j ava2s . c om * * @param ec * the ec * @param mc * the mc * @param callback * the callback * @see org.ebayopensource.turmeric.monitoring.client.model.MetricsQueryService#getErrorTimeSlotData(org.ebayopensource.turmeric.monitoring.client.model.ErrorCriteria, * org.ebayopensource.turmeric.monitoring.client.model.MetricCriteria, * com.google.gwt.user.client.rpc.AsyncCallback) */ public void getErrorTimeSlotData(final ErrorCriteria ec, final MetricCriteria mc, final AsyncCallback<ErrorTimeSlotData> callback) { final String url = URL.encode(ErrorMetricsGraphRequest.getRestURL(ec, mc)); RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url); final ErrorTimeSlotData data = new ErrorTimeSlotData(); data.setRestUrl(url); data.setErrorCriteria(ec); data.setMetricCriteria(mc); GWT.log("getErrorTimeSlotData.url =" + url); 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("Error " + response.getStatusCode())); } else if (response.getHeader(ERROR_HEADER) != null && response.getHeader(ERROR_HEADER).length() > 0) { callback.onFailure(new Throwable(ConsoleUtil.messages.badRequestData())); } else { String responseText = response.getText(); ErrorMetricsGraphResponse graphResponse = ErrorMetricsGraphResponse.fromJSON(responseText); if (graphResponse == null) { callback.onFailure(new Throwable(ConsoleUtil.messages.badOrMissingResponseData())); } else { JsArray<MetricGraphDataJS> rows = graphResponse.getReturnData(); List<TimeSlotValue> results = new ArrayList<TimeSlotValue>(); if (rows != null) { for (int i = 0; i < rows.length(); i++) { MetricGraphDataJS js = rows.get(i); results.add(js); } } data.setReturnData(results); callback.onSuccess(data); } } } }); } catch (RequestException x) { callback.onFailure(x); } }
From source file:org.ebayopensource.turmeric.monitoring.client.model.MetricsQueryServiceImpl.java
License:Open Source License
private void getMetricValueForDate(MetricValue mv, final AsyncCallback<TimeSlotData> callback) throws RequestException { final TimeSlotData data = new TimeSlotData(); data.setReturnData(new ArrayList<TimeSlotValue>(0)); final String url = URL.encode(MetricValueRequest.getRestURL(mv)); RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url); builder.setTimeoutMillis(60000);//from w w w. jav a 2 s . co m GWT.log("getMetricValueForDate url ->" + url); builder.sendRequest(null, new RequestCallback() { public void onError(Request request, Throwable err) { GWT.log("Error calling the SQMS", err); callback.onFailure(err); } public void onResponseReceived(Request request, Response response) { if (response.getStatusCode() != Response.SC_OK) { GWT.log("Response status code: " + response.getStatusCode()); callback.onFailure(new RequestException("Response status code: " + response.getStatusCode())); } else if (response.getHeader(ERROR_HEADER) != null && response.getHeader(ERROR_HEADER).length() > 0) { GWT.log("Error. Response headers : " + response.getHeadersAsString()); callback.onFailure( new RequestException("Error. Response headers : " + response.getHeadersAsString())); } else { GWT.log(response.getText()); MetricValueResponse graphResponse = MetricValueResponse.fromJSON(response.getText()); if (graphResponse == null) { GWT.log("Null response"); } else { JsArray<MetricGraphDataJS> rows = graphResponse.getReturnData(); // GWT.log("rows.size = "+rows.length()); List<TimeSlotValue> results = new ArrayList<TimeSlotValue>(); if (rows != null) { for (int i = 0; i < rows.length(); i++) { MetricGraphDataJS js = rows.get(i); results.add(js); } } // GWT.log("results = "+results.size()); data.getReturnData().addAll(results); // GWT.log("adding all results: "+data.getReturnData().size()); callback.onSuccess(data); } } } }); }
From source file:org.ebayopensource.turmeric.monitoring.client.model.MetricsQueryServiceImpl.java
License:Open Source License
/** * Gets the service consumers./* w w w . ja v a2 s . co m*/ * * @param serviceName * the service name * @param callback * the callback * @see org.ebayopensource.turmeric.monitoring.client.model.MetricsQueryService#getServiceConsumers(java.lang.String, * com.google.gwt.user.client.rpc.AsyncCallback) */ public void getServiceConsumers(final String serviceName, final AsyncCallback<Set<String>> callback) { Set<String> serviceNames = new HashSet<String>(); serviceNames.add(serviceName); final String url = MetricsMetaDataRequest.getRestURL("Service", serviceNames, "Consumer"); RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, URL.encode(url)); try { builder.sendRequest(null, new RequestCallback() { public void onError(Request request, Throwable err) { callback.onFailure(err); } public void onResponseReceived(final Request request, final Response response) { if (response.getStatusCode() != Response.SC_OK) { GWT.log("Errored request: " + url + " response code=" + response.getStatusCode() + " response=" + response.getText()); callback.onFailure(getErrorAsThrowable(response)); } else if (response.getHeader(ERROR_HEADER) != null && response.getHeader(ERROR_HEADER).length() > 0) { GWT.log("Errored request: " + url + " response code=" + response.getStatusCode() + " response=" + response.getText()); callback.onFailure(getErrorAsThrowable(response)); } else { MetricsMetaDataResponse metaDataResponse = MetricsMetaDataResponse .fromJSON(response.getText()); if (metaDataResponse == null) callback.onFailure(new Throwable(ConsoleUtil.messages.badOrMissingResponseData())); else { Set<String> consumerNames = metaDataResponse.getOrderedResourceEntityResponseNames(); callback.onSuccess(consumerNames); } } } }); } catch (RequestException x) { callback.onFailure(x); } }
From source file:org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyEnforcementServiceImpl.java
License:Open Source License
/** * Verify.//from w w w . j av a 2 s. 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.//ww w. j a va2 s . c o 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); } } }