Example usage for com.google.gwt.http.client RequestBuilder getCallback

List of usage examples for com.google.gwt.http.client RequestBuilder getCallback

Introduction

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

Prototype

public RequestCallback getCallback() 

Source Link

Document

Returns the callback previously set by #setCallback(RequestCallback) , or null if no callback was set.

Usage

From source file:com.agnie.gwt.common.client.rpc.LoaderRpcRequestBuilder.java

License:Open Source License

@Override
protected void doFinish(RequestBuilder rb) {
    super.doFinish(rb);
    rb.setCallback(new RequestCallbackWrapper(rb.getCallback()));
}

From source file:com.nabla.wapp.client.auth.SecureRequestBuilder.java

License:Apache License

public SecureRequestBuilder(final IAuthSessionManager sessionManager, final RequestBuilder requestFactory) {
    Assert.argumentNotNull(sessionManager);
    Assert.argumentNotNull(requestFactory);

    this.sessionManager = sessionManager;
    this.requestFactory = requestFactory;
    this.callback = requestFactory.getCallback();
    requestFactory.setCallback(this);
}

From source file:org.fusesource.restygwt.client.dispatcher.CachingDispatcherFilter.java

License:Apache License

/**
 * main filter method for a dispatcherfilter.
 *
 * @return continue filtering or not//from   w ww. j  av  a 2s  . c  o m
 */
@Override
public boolean filter(final Method method, final RequestBuilder builder) {
    final CacheKey cacheKey = cacheKey(builder);

    if (cacheKey != null) {
        final Response cachedResponse = cacheStorage.getResultOrReturnNull(cacheKey);
        if (cachedResponse != null) {
            //case 1: we got a result in cache => return it...
            if (LogConfiguration.loggingIsEnabled()) {
                Logger.getLogger(Dispatcher.class.getName()).info("already got a cached response for: "
                        + builder.getHTTPMethod() + " " + builder.getUrl());
            }
            // onResponseReceived can be time consuming and can manipulate the DOM
            // deferring the command keeps the async behaviour of this method call
            Scheduler.get().scheduleDeferred(new ScheduledCommand() {

                @Override
                public void execute() {
                    builder.getCallback().onResponseReceived(null, cachedResponse);
                }
            });
            return false;
        }
        final RequestCallback callback = callbackFactory.createCallback(method);

        //case 2: => no cache in result => queue it....
        if (!cacheStorage.hasCallback(cacheKey)) {
            //case 2.1 => first callback => make a new one and execute...
            cacheStorage.addCallback(cacheKey, builder.getCallback());

            if (LogConfiguration.loggingIsEnabled()) {
                Logger.getLogger(Dispatcher.class.getName()).info(
                        "Sending *caching* http request: " + builder.getHTTPMethod() + " " + builder.getUrl());
            }

            // important part:
            builder.setCallback(callback);
            return true;
        }
        //case 2.2 => a callback already in progress => queue to get response when back
        if (LogConfiguration.loggingIsEnabled()) {
            Logger.getLogger(Dispatcher.class.getName()).info(
                    "request in progress, queue callback: " + builder.getHTTPMethod() + " " + builder.getUrl());
        }
        cacheStorage.addCallback(cacheKey, callback);
        return false;
    }
    // non cachable case
    if (LogConfiguration.loggingIsEnabled()) {
        String content = builder.getRequestData();
        Logger.getLogger(Dispatcher.class.getName()).info("Sending *non-caching* http request: "
                + builder.getHTTPMethod() + " " + builder.getUrl() + " (Content: `" + content + ")");
    }

    //            /*
    //             * add X-Request-Token to all non-caching calls (!= GET) if we have some
    //             */
    //            builder.setHeader("X-Testing", "Bude");

    builder.setCallback(callbackFactory.createCallback(method));
    return true;// continue filtering
}

From source file:org.fusesource.restygwt.client.dispatcher.CachingRetryingDispatcher.java

License:Apache License

public Request send(Method method, RequestBuilder builder) throws RequestException {

    RequestCallback outerRequestCallback = builder.getCallback();
    final CacheKey cacheKey = new CacheKey(builder);

    final Response cachedResponse = cacheStorage.getResultOrReturnNull(cacheKey);

    if (cachedResponse != null) {

        outerRequestCallback.onResponseReceived(null, cachedResponse);
        return null;

    } else {//from w  w  w.  j  av a2 s. c  o  m

        RequestCallback retryingCallback = new CachingRetryingCallback(builder, outerRequestCallback);
        builder.setCallback(retryingCallback);

        GWT.log("Sending http request: " + builder.getHTTPMethod() + " " + builder.getUrl() + " ,timeout:"
                + builder.getTimeoutMillis(), null);

        String content = builder.getRequestData();

        if (content != null && content.length() > 0) {
            GWT.log(content, null);
        }

        return builder.send();
    }

}

From source file:org.opencms.ugc.client.CmsRpcCallHelper.java

License:Open Source License

/**
 * Executes the RPC call.<p>/*w w  w .  java 2  s. c  om*/
 *
 * @param requestBuilder the request builder returned by the service interface
 */
@SuppressWarnings("synthetic-access")
public void executeRpc(RequestBuilder requestBuilder) {

    final RequestCallback callback = requestBuilder.getCallback();
    RequestCallback callbackWrapper = new RequestCallback() {

        public void onError(com.google.gwt.http.client.Request request, Throwable exception) {

            m_requestCounter.decrement();
            callback.onError(request, exception);
        }

        public void onResponseReceived(com.google.gwt.http.client.Request request,
                com.google.gwt.http.client.Response response) {

            m_requestCounter.decrement();
            callback.onResponseReceived(request, response);
        }
    };
    requestBuilder.setCallback(callbackWrapper);
    m_requestCounter.increment();
    try {
        requestBuilder.send();
    } catch (Exception e) {
        m_requestCounter.decrement();
    }
}

From source file:pl.touk.wonderfulsecurity.gwt.client.rpc.RpcExecutor.java

License:Apache License

public static void execute(RequestBuilder rb, final boolean displayCommunicationStatus) {
    final RequestCallback originalCallback = rb.getCallback();

    /**/*from  ww  w .  ja  v  a 2s.  c o m*/
     * Using default message
     */
    if (displayCommunicationStatus) {

        showServerCommunication(message);
        messageQueue.add(message);
    }

    /**
     * Replacing callback, to be able to get login page location from HTTP header
     */
    rb.setCallback(new RequestCallback() {

        public void onResponseReceived(Request request, Response response) {
            String header = response.getHeader("loginPage");
            if (header != null && header.length() > 0) {
                Redirect.redirect(header);
            }

            if (displayCommunicationStatus) {
                refreshUserMessage();
            }

            originalCallback.onResponseReceived(request, response);
        }

        public void onError(Request request, Throwable exception) {

            if (displayCommunicationStatus) {

                refreshUserMessage();
            }

            if (errorHandler != null) {
                errorHandler.handleError(request, exception);
            }
            originalCallback.onError(request, exception);
        }
    });

    try {
        rb.send();
    } catch (RequestException ex) {
        if (errorHandler != null) {
            errorHandler.handleError(ex);
        }
    }

}