SecuredAsyncCallback.java :  » App » synitex-shopping-list » com » synitex » mn » client » utils » Android Open Source

Android Open Source » App » synitex shopping list 
synitex shopping list » com » synitex » mn » client » utils » SecuredAsyncCallback.java
package com.synitex.mn.client.utils;

import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.rpc.StatusCodeException;
import com.synitex.mn.client.AppController;
import com.synitex.mn.client.ui.dialogs.ErrorDialog;

public abstract class SecuredAsyncCallback<T> implements AsyncCallback<T> {

  public abstract void doSuccess(T result);

  public void doFailure(Throwable caught) {
    ErrorDialog.show(caught);
  }

  public void onFailure(Throwable caught) {

    AppController.hideLoading();

    if (caught instanceof StatusCodeException) {
      StatusCodeException casted = (StatusCodeException) caught;
      String msg = casted.getMessage();
      if (msg != null && msg.startsWith("access:")) {
        String logingUrl = msg.substring("access:".length());
        Window.open(logingUrl, "_self", "");
      } else {
        doFailure(caught);
      }
    } else {
      doFailure(caught);
    }
  }

  public void onSuccess(T result) {
    AppController.hideLoading();
    doSuccess(result);
  };

}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.