private RequestBuilder chooseRequestBuilder(final ModelNode operation) { RequestBuilder requestBuilder; final String op = operation.get(OP).asString(); if (READ_RESOURCE_DESCRIPTION_OPERATION.equals(op)) { String endpoint = endpointConfig.getUrl(); if (endpoint.endsWith("/")) { endpoint = endpoint.substring(0, endpoint.length() - 1); } String descriptionUrl = endpoint + descriptionOperationToUrl(operation); requestBuilder = new RequestBuilder( RequestBuilder.GET, com.google.gwt.http.client.URL.encode(descriptionUrl)); requestBuilder.setHeader(HEADER_ACCEPT, DMR_ENCODED); requestBuilder.setHeader(HEADER_CONTENT_TYPE, DMR_ENCODED); requestBuilder.setIncludeCredentials(true); requestBuilder.setRequestData(null); } else { requestBuilder = postRequestBuilder(); requestBuilder.setRequestData(operation.toBase64String()); } return requestBuilder; }
private void updateFeatureLocation(final AnnotationInfo originalInfo) { String url = Annotator.getRootUrl() + "annotator/updateFeatureLocation"; RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, URL.encode(url)); builder.setHeader("Content-type", "application/x-www-form-urlencoded"); StringBuilder sb = new StringBuilder(); sb.append( "data=" + AnnotationInfoConverter.convertAnnotationInfoToJSONObject(this.internalAnnotationInfo) .toString()); final AnnotationInfo updatedInfo = this.internalAnnotationInfo; builder.setRequestData(sb.toString()); enableFields(false); RequestCallback requestCallback = new RequestCallback() { @Override public void onResponseReceived(Request request, Response response) { JSONValue returnValue = JSONParser.parseStrict(response.getText()); GWT.log("return value: " + returnValue.toString()); enableFields(true); Annotator.eventBus.fireEvent( new AnnotationInfoChangeEvent( updatedInfo, AnnotationInfoChangeEvent.Action.UPDATE)); updateDetailData(updatedInfo); redrawExonTable(); } @Override public void onError(Request request, Throwable exception) { // todo: handling different types of errors Bootbox.alert("Error updating exon: " + exception.toString()); coordinatesToPrime(originalInfo.getMin(), originalInfo.getMax()); enableFields(true); } }; try { builder.setCallback(requestCallback); builder.send(); } catch (RequestException e) { Bootbox.alert(e.getMessage()); enableFields(true); } }