示例#1
0
 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;
 }
示例#2
0
  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);
    }
  }