package org.realityforge.replicant.example.client;

import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;

/**
 * Callback invoked on completion of every job
 */
public class GlobalAsyncCallback
  implements AsyncCallback
{
  @Override
  public void onFailure( final Throwable caught )
  {
    Window.alert( "Failed!" );
  }

  @Override
  public void onSuccess( final Object result )
  {
  }
}

@@ -83,67 +83,90 @@
 ent.
-Window;%0Aimport com.google.gwt.user.client.rpc.AsyncCallback
+rpc.AsyncCallback;%0Aimport java.util.logging.Level;%0Aimport java.util.logging.Logger
 ;%0A%0A/
@@ -281,16 +281,110 @@
 lback%0A%7B%0A
+  private static final Logger LOG = Logger.getLogger( GlobalAsyncCallback.class.getName() );%0A%0A
   @Overr
@@ -449,31 +449,58 @@
     
-Window.alert( %22Failed!%22
+LOG.log( Level.WARNING, %22A request failed%22, caught
  );%0A
@@ -563,18 +563,79 @@
 esult )%0A
-
   %7B%0A
+    LOG.log( Level.INFO, %22A request succeeded: %22 + result );%0A
   %7D%0A%7D%0A

Rework callback so that it emits logs to the console. Less annoying than popups