Author: jlaba...@google.com Date: Fri Feb 27 10:43:54 2009 New Revision: 4897
Modified: releases/1.6/user/src/com/google/gwt/user/tools/AppClassTemplate.javasrc releases/1.6/user/src/com/google/gwt/user/tools/AppCss.csssrc Log: Updated webAppCreator to include a much better error handling message when an RPC error occurs. Patch by: jlabanca Review by: bruce Issue: 3395 Modified: releases/1.6/user/src/com/google/gwt/user/tools/AppClassTemplate.javasrc ============================================================================== --- releases/1.6/user/src/com/google/gwt/user/tools/AppClassTemplate.javasrc (original) +++ releases/1.6/user/src/com/google/gwt/user/tools/AppClassTemplate.javasrc Fri Feb 27 10:43:54 2009 @@ -7,7 +7,6 @@ import com.google.gwt.event.dom.client.KeyCodes; import com.google.gwt.event.dom.client.KeyUpEvent; import com.google.gwt.event.dom.client.KeyUpHandler; -import com.google.gwt.user.client.Window; import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.Button; import com.google.gwt.user.client.ui.DialogBox; @@ -21,6 +20,13 @@ * Entry point classes define <code>onModuleLoad()</code>. */ public class @moduleShortName implements EntryPoint { + /** + * The message displayed to the user when the server cannot be reached or + * returns an error. + */ + private static final String SERVER_ERROR = "An error occurred while " + + "attempting to contact the server. Please check your network " + + "connection and try again."; /** * Create a remote service proxy to talk to the server-side Greeting service. @@ -103,11 +109,17 @@ serverResponseLabel.setText(""); greetingService.greetServer(textToServer, new AsyncCallback<String>() { public void onFailure(Throwable caught) { - Window.alert("Rpc failure"); - sendButton.setEnabled(true); + // Show the RPC error message to the user + dialogBox.setText("Remote Procedure Call - Failure"); + serverResponseLabel.addStyleName("serverResponseLabelError"); + serverResponseLabel.setHTML(SERVER_ERROR); + dialogBox.center(); + closeButton.setFocus(true); } public void onSuccess(String result) { + dialogBox.setText("Remote Procedure Call"); + serverResponseLabel.removeStyleName("serverResponseLabelError"); serverResponseLabel.setHTML(result); dialogBox.center(); closeButton.setFocus(true); Modified: releases/1.6/user/src/com/google/gwt/user/tools/AppCss.csssrc ============================================================================== --- releases/1.6/user/src/com/google/gwt/user/tools/AppCss.csssrc (original) +++ releases/1.6/user/src/com/google/gwt/user/tools/AppCss.csssrc Fri Feb 27 10:43:54 2009 @@ -24,6 +24,10 @@ margin: 5px; } +.serverResponseLabelError { + color: red; +} + /** Set ids using widget.getElement().setId("idOfElement") */ #closeButton { margin: 15px 6px 6px; --~--~---------~--~----~------------~-------~--~----~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~----------~----~----~----~------~----~------~--~---